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

    Map Range Clamped

    Click image for larger version

Name:	MapRangeClamped.jpg
Views:	1
Size:	87.4 KB
ID:	1074887

    (Live as of April 22nd, 2015)

    Dear Community,

    This new node of mine, fixes an issue with Map Range where the output value is not clamped to the output range.

    So if you use the current node, Map Range like so:

    Code:
    Input:  0 to 100
    Output: 0 to 1
    Value:  200
    Then Map Range will give you 2

    My node, Map Range Clamped, will give you the maximum of the output range if the value is in excess, and will still correctly return 1, the maximum output value that you supplied.

    So basically if you say "I want to get back a value between 0 and 1" then my node guarantees that is exactly what will happen!

    ~~~

    UMG Sliders

    A very important use of this node is with UMG Sliders!

    If you supply > 1, a UMG slider thumb will simply disappear!

    My Map Range Clamped node will enable you to more easily and intuitively work with UMG sliders and do range mappings.

    ~~~

    Range Mapping?

    Every UMG slider goes from a value of 0 to 1, however the value you want to get from the slider might be -50 to 50, or 0 to 100, or -1 to 12.5.

    Using my Map Range Clamped node you can easily map to/from the UMG slider range of 0 to 1 (normalized range).


    ~~~

    Download and plug in!

    Latest plugin download is here:
    https://wiki.unrealengine.com/File:VictoryPlugin.zip

    Enjoy!

    Rama
    Last edited by Rama; 04-22-2015, 05:47 AM.
    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


      Hey guys,
      if anyone wants it, I created a simple python script which downloads Rama's plugin and unzips it into your plugin directory, it doesn't check which version you downloaded as I don't know how to get the file version from the wiki. If anyone knows how please tell me, I will add it to the script. I just created it because I'm really lazy...
      Link

      Greetings,
      Dakraid

      Comment


        Rama Red Hot News Flash

        I turned my 14 Config BP Node Suite into 2 Wild Card Nodes!


        Dear Community,

        After delving deep into the engine code, and learning a lot about the special K2 nodes that require special classes and special code, I've learned how to use wild cards!

        I've compacted the 14 nodes of my Config BP Suite into just 2 !

        My 2 nodes support 7 different variable types!

        Check out this video!

        The single pin in my 2 nodes can become 7 different variable types!



        The UE4 Engine Pull Request for this is here:

        https://github.com/EpicGames/UnrealEngine/pull/1083
        (You need to be logged into your UE4 Github account to view this link)

        If you'd like to see these 2 Wild nodes added to the engine you can post at the link above!



        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


          Hey Rama, the rename/move screenshot node made me think about this: https://docs.unrealengine.com/latest...screenshottool
          Do you think there's a way to access that through BP?
          Would be great to get access to buffers, masks and EXR's within BP!
          --- www.RTView.it --- RTView Facebook page ---

          Comment


            Originally posted by RTView View Post
            Hey Rama, the rename/move screenshot node made me think about this: https://docs.unrealengine.com/latest...screenshottool
            Do you think there's a way to access that through BP?
            Would be great to get access to buffers, masks and EXR's within BP!
            If you do any preliminary research on this let me know what you find!



            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:	SoundSetClassVolume.jpg
Views:	8
Size:	91.1 KB
ID:	1075071

              Set Volume of Any Sound Class

              Any Time From Anywhere!


              You can use this node to set the volume of any sound class, any time, from anywhere!

              My node allows you to offer people an audio slider that is a continuous float value range based only on the slider increments.

              Enjoy!

              ~~~

              Click image for larger version

Name:	SoundGetSoundVolume.jpg
Views:	6
Size:	98.1 KB
ID:	1075072

              And you get get current sound volume of any class very easily too!

              Rama

              Wiki Download Page
              https://wiki.unrealengine.com/File:VictoryPlugin.zip
              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:	SaveObjectListing.jpg
Views:	5
Size:	258.7 KB
ID:	1075143

                Get a Hard-drive accurate listing of all Save Game Objects!

                Dear Community,

                This node gives you a hard-drive accurate listing of all save game files that you've created!

                I am referring to UE4's Save Object system!

                You can now access a full listing in a developer build or in a packaged game, to know all the save files that have been saved!

                These save files are stored in GameDir/Saved/SaveGames

                Click image for larger version

Name:	SaveObjectBP.jpg
Views:	5
Size:	267.5 KB
ID:	1075145

                ~~~

                UE4 Blueprint Save System?


                If you did not know, you can use UE4's save system like this:

                1. Create a new blueprint based on SaveGame
                2. Add your variables to the blueprint that you want to save the values of
                3. in level BP or some other blueprint, create a save game object, and set the values of that object
                4. Save this object to a Save Game Slot, as shown in my pictures
                5. You can load a save game object from a Slot name at any time!

                6. Now with my new Victory BP Library, you can obtain a full listing of all existing save games as stored on your computer's hard disk! This let's you know whether a file exists before you try to load it! You can also find out how many save files exist from within BP!

                ~~~

                Most Recent Plugin Download From UE4 Wiki
                https://wiki.unrealengine.com/File:VictoryPlugin.zip

                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


                  Thanks for posting this Rama.
                  Marketplace Assets

                  Advanced Mobile Input: Marketplace Page | Support Thread ――― Easy Input Remapping: Marketplace Page | Support Thread
                  Multiplayer Blueprint Chat System: Marketplace Page | Support Thread ――― Closing Credits System: Marketplace Page | Support Thread
                  Minesweeper Template: Marketplace Page | Support Thread ――― Maze Creator: Marketplace Page | Support Thread

                  Comment


                    Save Linear Color Array To Disk as PNG Image!

                    Click image for larger version

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

                    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);
                    }
                    ~~~

                    Most Recent Plugin Download From UE4 Wiki
                    https://wiki.unrealengine.com/File:VictoryPlugin.zip




                    Rama
                    Last edited by Rama; 04-27-2015, 04:00 AM.
                    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


                      Interesting. I feel like I could do quite a few things with that node, though Minimap is the most applicable thing that comes to mind.

                      Not sure when I might put it to use, but if I do I will post the results here.
                      Map Generator 1.0
                      Map Generator 2.0
                      Map Generator 3.0

                      Comment


                        Rama, you stud. I hope to show what I'm doing with it soon.

                        Comment


                          Rama, you are an unstoppable coding machine! Thank you for continuing to kick such ***! Cheers!

                          J^2
                          This is a thing that is cool: Zeustiak's Map Generator 3.0

                          Everyone should be using: Rama's Epic Blueprint Plugin Package!

                          Comment


                            Originally posted by Tom Shannon View Post
                            Rama, you stud. I hope to show what I'm doing with it soon.
                            Originally posted by J. J. Franzen View Post
                            Rama, you are an unstoppable coding machine! Thank you for continuing to kick such ***! Cheers!

                            J^2

                            Hee hee! You're welcome!

                            I look forward to any pics you choose to share of the pics you generate using my new node!

                            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


                              Hey Rama!
                              I never posted in this thread before, even though I have used your plugin quite a lot! (shame on me..) So let me first take a minute to thank you for all the awesome work you have done! not only some of these nodes are useful (or even essential!) but the plugin as a whole serves as a great base plugin and C++ example.

                              In fact, you inspired me to make a plugin that I was planing to release with all the custom nodes I have been using in my projects over the last year but apparently I'm way too lazy to finish it

                              I call it the "Math Plugin" , it includes various nodes starting from simple (missing) nodes like negate int/float, to more advanced intersection checks (to be used as collision check alternatives etc.)

                              Click image for larger version

Name:	MathPluginP1.jpg
Views:	5
Size:	276.3 KB
ID:	1075288
                              Click image for larger version

Name:	MathPluginP2.jpg
Views:	1
Size:	196.7 KB
ID:	1075289

                              Let me know if you find any of these interesting.. It would be kinda cool to have some of these added to your plugin if you think they are useful

                              4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
                              WIP Interactive Water Shader, WIP 2D Water Sim
                              WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD

                              Comment


                                Hi there TK-Master!

                                Rest of community is invited to chime in as to which of your nodes they would like, I personally think that the Is Point in Box, that receives the extent and center of box, would be great! (FBox not exposed to BP yet as far as I know)

                                Line to Line Intersection
                                Line Inside Sphere (is this an intersection or whole line has to be inside sphere?)
                                Closest Points between Two Line Segements
                                Project Point onto Line
                                Closest Point on Sphere to Line
                                Closest Point on Line Segment

                                Set Vector Length
                                Increment Float
                                Increment Integer
                                IsEven
                                IsPowerOf2
                                IsMultipleOf
                                RoundToNearestMultiple
                                GridSnap


                                Would all be great!

                                I think a lot of people will love the Geometry functions and Grid Snap feature!

                                And the various math functions will be very helpful !

                                Thanks!

                                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

                                Working...
                                X