Announcement

Collapse
No announcement yet.

(39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by TK-Master View Post
    I had included a function to read console variables on my post with the math functions

    This would allow you to read the current value of sg.ShadowQuality for example, is that what you meant John Alcatraz?

    I don't know if it works in a packaged game though, a better method might be required.
    Thanks for that TK-Master!

    I will see about integrating those at my next opportunity



    Rama
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

    Comment


      Originally posted by Rama View Post
      The previous String File IO could only save a single line of text, even if you put "\n" into your string

      So I've made a new node that lets you save multiple lines of text to file.

      Each FString of the array is on its own line in the file!

      See pic!

      Enjoy!

      Rama

      [ATTACH=CONFIG]44453[/ATTACH]

      ~~~

      Latest plugin download on the UE4 Wiki: (7.91 mb)
      https://wiki.unrealengine.com/File:VictoryPlugin.zip

      ~~~

      Victory Plugin on Media Fire

      If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

      Please note clicking this link will not start a download instantly, it will just take you to the Media Fire file description.

      https://www.mediafire.com/?g6uf9kt5ueb2upj

      Enjoy!



      Rama
      This is perfect for editing config files now.
      Isaac Nichols
      Game Developer & Music Producer - Threaded Pixel Studios
      Currently working on Drones & Ruins a Sci-Fi twin-stick shooter.

      Comment


        Originally posted by Rama View Post
        Load Texture 2D From File!

        JPG, PNG, BMP, ICO, EXR, and ICNS are Supported File Formats !


        With this node you can load a Texture 2D from a file during runtime!
        This is brilliant!
        Thanks for all the hard work.

        Should this work with http?

        None of my URLs for PNGs work, it only works with local file paths, even though a link in this thread through claims it does:
        https://answers.unrealengine.com/que...s-at-runt.html

        Comment


          Originally posted by Rama View Post
          Set Volume of Any Sound Class

          Any Time From Anywhere!
          Hi Rama, this is great! Any chance of unlocking this for the EQ settings in a Sound Mix as well? would be perfect for dynamic audio filtering through BP.

          Comment


            Hello, i would like to ask you, how did you attach the weapon to the ragdoll's hand without having it jitter/lag behind it? Because when i try to attach a static mesh to a skeletal mesh's bone socket with physics enabled, the static mesh wobbles around like it's not properly attached or having some delay, i've been searching everywhere for a solution for this for days, but i just can't find anything on google or anywhere, please you're my only hope! ;_;

            Comment


              Hey Rama, I'm trying to use the server travel node to do a async map change where a UMG widget is playing throughout the load.
              The level loads fine, but my widget stops playing during the load every time (then resumes when the new level is done loading)

              Is there some trick to getting this to work properly? It seemed really straightforward but I'm having no luck.

              Thanks, I'm loving the plugin btw, so much great stuff!

              Comment


                Originally posted by Isaac Nichols View Post
                This is perfect for editing config files now.
                Great to hear from you Isaac!


                Originally posted by bzxo View Post
                Hi Rama, this is great! Any chance of unlocking this for the EQ settings in a Sound Mix as well? would be perfect for dynamic audio filtering through BP.
                Can you explain / show a pic of exactly which settings you would like exposed to runtime BP modification?



                Originally posted by funkstatic View Post
                Hey Rama, I'm trying to use the server travel node to do a async map change where a UMG widget is playing throughout the load.
                The level loads fine, but my widget stops playing during the load every time (then resumes when the new level is done loading)

                Is there some trick to getting this to work properly? It seemed really straightforward but I'm having no luck.

                Thanks, I'm loving the plugin btw, so much great stuff!
                I wil have to do a thorough test of the state of things in 4.8 and then get back to you on this! I am glad you are enjoying my plugin!



                Originally posted by GraphicsMode View Post
                This is brilliant!
                Thanks for all the hard work.

                Should this work with http?
                Http involves internet connection which necessarily always involves async calculations (have to wait to receive the data, can't proceed instantly). This means that all things involving live internet connection have to be done in a special class or actor component, and can't be a static node in my BP library.

                It is a very nice goal though, to be able to download image from a website, and I shall work on it when I can

                Originally posted by Staus View Post
                Hello, i would like to ask you, how did you attach the weapon to the ragdoll's hand without having it jitter/lag behind it? Because when i try to attach a static mesh to a skeletal mesh's bone socket with physics enabled, the static mesh wobbles around like it's not properly attached or having some delay, i've been searching everywhere for a solution for this for days, but i just can't find anything on google or anywhere, please you're my only hope! ;_;
                Welcome to the forums Staus!

                Are you saying the weapon jitters only when the character is actively ragdolling, or the weapon jitters even when running around prior to ragdoll ?

                ~~~

                Have fun today everyone!



                Rama
                Last edited by Rama; 06-25-2015, 12:55 PM.
                100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                Comment


                  Originally posted by Rama View Post
                  Welcome to the forums Staus!

                  Are you saying the weapon jitters only when the character is actively ragdolling, or the weapon jitters even when running around prior to ragdoll ?

                  ~~~

                  Have fun today everyone!



                  Rama
                  It's only during ragdoll, when the skeletal mesh is using animations, everything works perfectly fine, the static mesh is perfectly attached to the bone socket. :/
                  P.S. Impressed to see that you still reply to comments after 960+ replies ^^
                  Last edited by Staus; 06-25-2015, 01:09 PM.

                  Comment


                    Originally posted by funkstatic View Post
                    Hey Rama, I'm trying to use the server travel node to do a async map change where a UMG widget is playing throughout the load.
                    The level loads fine, but my widget stops playing during the load every time (then resumes when the new level is done loading)

                    Is there some trick to getting this to work properly? It seemed really straightforward but I'm having no luck.

                    Thanks, I'm loving the plugin btw, so much great stuff!
                    BTW I'm on 4.7

                    Comment


                      Originally posted by Staus View Post
                      It's only during ragdoll, when the skeletal mesh is using animations, everything works perfectly fine, the static mesh is perfectly attached to the bone socket. :/
                      P.S. Impressed to see that you still reply to comments after 960+ replies ^^
                      Hee hee!

                      I can confirm having problems with a static mesh attached to a socket wobbling after initiating ragdoll. To be clear this is not a drag or a delay in location update, but a severe jittery wobble/bouncing all over the place.

                      I'd recommend you do the following:

                      1. make a 3rd person BP only project, with no sample content (save almost a gb of extra stuff)

                      2. bring in your weapon asset

                      3. set up the attachment the way you like, on begin play in character BP

                      4. activate ragdoll on key press

                      5. zip this project and submit to Epic on the answerhub, demonstrating the problem

                      Your zipped project should only be a few mb as long as you dont include sample content!

                      Once you do this I can comment in your answerhub post.

                      ~~~

                      My Repro

                      I used a resized cube made into a bar and attached to third person character skeleton on begin play using two methos (1) weapon as actor, (2) weapon as component of the character.

                      In both cases there was severe wobbling/jittering/skipping after activating ragdoll and once the character hit the ground

                      (3) I made sure collision was turned off for the weapon mesh.



                      Rama
                      100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                      UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                      Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                      Comment


                        Click image for larger version

Name:	SaveImagePixels.jpg
Views:	2
Size:	294.4 KB
ID:	1080636

                        Live as of 4/27/15

                        Dear Community,

                        I've created a new node that allows you to save a Linear Color array to disk as a PNG image!

                        So you can draw transparency using the Alpha channel of the Linear Color!

                        For those who have not used Linear Color much, it has 4 floats (R G B A) and so saving to PNG and supporting transparency is easy!

                        ~~~

                        Bonus ~ I create target directory for you!

                        My node will create the directory you are trying to save to if it does not already exist!

                        This can be very helpful if you delete your whole generated image folder at once!

                        ~~~

                        Absolute File Paths

                        This node receives absolute file paths, you can use my Path nodes to get various absolute paths that are relative to your project directory!

                        Victory BP Library Path Nodes (link inside this thread)
                        https://forums.unrealengine.com/show...l=1#post234711

                        ~~~

                        Error String

                        I provide you with an Error string to help narrow down the reason the node returned false, if it does!

                        Even more debugging info for you!

                        The most common error will be that your array size does not equal Width x Height that you inputted into the node.

                        Solution:

                        You can avoid this by using variables for Width and Height and multiplying them together and using that as the max for the for loop where you initialize the image to black (see picture above)!

                        If you use my method, make sure the for loop first index is 1 not 0 !

                        ~~~

                        Post Your BP-Generated Images!

                        Feel free to post images you create using this node!

                        ~~~

                        My C++ Code For You!

                        Here's the entire C++ code for my node!

                        If you use it please credit me somewhere appropriate!

                        Code:
                        bool UVictoryBPFunctionLibrary::Victory_SavePixels(const FString& FullFilePath,int32 Width, int32 Height, const TArray<FLinearColor>& ImagePixels, FString& ErrorString)
                        {
                        	if(FullFilePath.Len() < 1) 
                        	{
                        		ErrorString = "No file path";
                        		return false;
                        	}
                        	//~~~~~~~~~~~~~~~~~
                        	
                        	//Ensure target directory exists, 
                        	//		_or can be created!_ <3 Rama
                        	FString NewAbsoluteFolderPath = FPaths::GetPath(FullFilePath);
                        	FPaths::NormalizeDirectoryName(NewAbsoluteFolderPath);
                        	if(!VCreateDirectory(NewAbsoluteFolderPath)) 
                        	{
                        		ErrorString = "Folder could not be created, check read/write permissions~ " + NewAbsoluteFolderPath;
                        		return false;
                        	}
                        	
                        	//Create FColor version
                        	TArray<FColor> ColorArray;
                        	for(const FLinearColor& Each : ImagePixels)
                        	{
                        		ColorArray.Add(Each);
                        	}
                        	 
                        	if(ColorArray.Num() != Width * Height) 
                        	{
                        		ErrorString = "Error ~ height x width is not equal to the total pixel array length!";
                        		return false;
                        	}
                        	  
                        	//Remove any supplied file extension and/or add accurate one
                        	FString FinalFilename = FPaths::GetBaseFilename(FullFilePath, false) + ".png";  //false = dont remove path
                        
                        	//~~~
                        	
                        	TArray<uint8> CompressedPNG;
                        	FImageUtils::CompressImageArray( 
                        		Width, 
                        		Height, 
                        		ColorArray, 
                        		CompressedPNG
                        	);
                        	    
                        	ErrorString = "Success! or if returning false, the saving of file to disk did not succeed for File IO reasons";
                        	return FFileHelper::SaveArrayToFile(CompressedPNG, *FinalFilename);
                        }
                        ~~~

                        Latest plugin download on the UE4 Wiki: (7.92 mb)
                        https://wiki.unrealengine.com/File:VictoryPlugin.zip

                        ~~~

                        Victory Plugin on Media Fire

                        If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

                        Please note clicking this link will not start a download instantly, it will just take you to the Media Fire file description.

                        https://www.mediafire.com/?g6uf9kt5ueb2upj

                        Enjoy!



                        Rama
                        100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                        UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                        Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                        Comment


                          Oh I've got an awesome idea for what you might be able to use that node + another one of your nodes for.

                          Comment


                            Originally posted by Rama View Post
                            Hee hee!

                            I can confirm having problems with a static mesh attached to a socket wobbling after initiating ragdoll. To be clear this is not a drag or a delay in location update, but a severe jittery wobble/bouncing all over the place.

                            Alrighty then, glad it's not my computer being faulty or something, anywaaaaays.. How did you attach your sword to your ragdoll, if i may ask? ^^ I'm posting the "bug" right now btw.
                            Last edited by Staus; 06-25-2015, 05:59 PM.

                            Comment


                              Love your new node Rama.

                              Comment


                                I have 2 questions...
                                I posted one of them before, but I wanted to post again with an example to see if anyone can help me out.

                                I'm using (version 4.7 btw)
                                First off, I can't seem to get the "Server Travel" to work correctly. I mentioned before the widget will appear, it'll be animating... but as soon as the server travel is called, the animation stops, and doesn't continue until the next level is finished loading.
                                Here is my test example:
                                Click image for larger version

Name:	Level_Load.JPG
Views:	1
Size:	78.6 KB
ID:	1080721

                                My second questions deals with using the random functions that are in the plugin. No matter what configuration I attempt, whenever I make a packaged build each time I run, my random outputs the same sequence of numbers.
                                It's my understanding that the regular random functions in BPs have these issues in packaged builds as well, I was hoping the plugin ones would work, but in either case my output is the same random every time.
                                Am I using this correctly?
                                Click image for larger version

Name:	Random_Example.JPG
Views:	1
Size:	68.7 KB
ID:	1080722

                                Thanks for any help, I do enjoy some of the other features in the plugin!

                                Comment

                                Working...
                                X