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

    I didn't see that before but that's very similar to the way i did, but this is the problem:

    When you create first release we call R1 you've your all base assets inside .pak file and it's ok
    then when you create your first Patch we call P1 it'll add all changes & assets to a new .pak file named New_P.pak and it's ok
    but problem starts here when you want to create P2, at this point the new _P.pak has previous P1 content and it seems users must download P1 & P2 and when and if your P1 was a large file the P2 has all P1 assets and makes it large.

    My Solution is : use epic patching tool for some changing like scripting and small changes and create custom .pak for new assets and load them manually but this way is a little hard to manage custom .pak file like creating and load priority .

    Let me know what do you think?
    ABC Augmented Reality by UE4
    GooglePlay

    ArchVis VR

    Comment


      Originally posted by Rama View Post
      If you use a T2D that has been compressed by UE4 or had its format changed internally, it is guaranteed to look funny coming back out as raw pixel array

      If you load a raw pixel array yourself, or load a .bmp, and then save it back out again, it should be fine.

      The issue with T2D -> pixels in the C++ code is that there is no easy function to undo compression that has been performed on the original resource of a T2D, at least the last time I checked that was my conclusion. If anyone finds a way let me know!

      If you click on your T2D texture asset in UE4 and turn off all compression that should help quite a bit
      Hello Rama,

      I'm trying to save a texture from a RenderTarget to a file. Used the C++ function to create a T2D from a RT and then used your VictoryGetPixelsArrayFromT2D and VictorySavePixels, but the file looks really weird and I guess it has to do with the compression you mentioned. However I can't deactivate it, only choose between different settings like VectorDisplacementMap, Default DXT1 etc.). Where did you find the "Turn off all compression" option?
      When I use the engine function CaptureComponent2DSaveImage it works as it should except I get a HDR file I can't work with, because I haven't found a way to import it.
      Click image for larger version

Name:	Quicksave_Thumb.png
Views:	1
Size:	744.1 KB
ID:	1132145

      Edit:
      Okay i got it finally working..
      Instead of using a RenderTarget from the engine which always uses compression, I just generated it with C++ with the correct PixelFormat:

      Code:
      UTextureRenderTarget2D* blah::CreateRenderTargetBGRA8(UObject* outer, int32 TexWidth, int32 TexHeight)
      {
      	UTextureRenderTarget2D* newRT = NewObject<UTextureRenderTarget2D>(outer);
      	newRT->InitCustomFormat(TexWidth, TexHeight, EPixelFormat::PF_B8G8R8A8, 0);
      	return newRT;
      }
      and used this to create a T2D from a RT2D
      Code:
      UTexture2D* bla::RenderTargetToTexture2D(UObject *outer, UTextureRenderTarget2D* target)
      {
      	target->CompressionSettings = TextureCompressionSettings::TC_MAX;
      	target->CompressionNone = 1;
      
      	UTexture2D* CreatedTexture = target->ConstructTexture2D(outer, "", EObjectFlags::RF_NoFlags, 0, 0);
      
      	CreatedTexture->CompressionSettings = TextureCompressionSettings::TC_MAX;
      	CreatedTexture->MipGenSettings = TextureMipGenSettings::TMGS_NoMipmaps;
      	CreatedTexture->LODGroup = TextureGroup::TEXTUREGROUP_UI;
      	CreatedTexture->Filter = TextureFilter::TF_Nearest;
      	CreatedTexture->CompressionNone = 1;
      	return CreatedTexture;
      }
      Last edited by zale90; 08-06-2017, 01:38 PM.

      Comment


        Originally posted by foxhound101 View Post
        Thanks so much for this Plugin Rama-Sama! It really works beautifully.

        I have a small problem though:
        I need to use the HMD commands VRHeadsetPutOnHead and VRHeadsetRemovedFromHead wich is only being implemented for the Rift in 4.17
        so i will have to use your victory plugin(since im lost without it) with UE 4.17 once it is released. Is there a way i can compile the 4.16 version of
        victory plugin into 4.17? or will i have to wait for the auther(the mighty Rama-Sama) to compile a working 4.17 version?

        Thanks for the help
        4.17 see next posts!

        Originally posted by Brawph View Post
        Thanks so much for your selection help! That worked really well for me!

        I can't believe I didn't know about that node you mentioned, and the idea to split the selection between Player Controller and HUD was so much better, now I can actually have it go off of left click instead of any mouse button!

        Thanks Rama!
        You're welcome!

        Originally posted by Vahid View Post
        Hello Rama,
        I need some help with Patching and Updating game process, that would be great if you can make a tutorial for that,

        I tired this flow :



        but when i try to create a release based on another release gave me a Critical error, it's okay if i make R2 based on nothing but in this case problem is P3 contains P1 and P2 inside himself and it's not good in large content update. I want each of them separate .

        Another problem i have is with priority...
        How engine should know P1, P2 and P3 priority order ?

        Thank you.
        Originally posted by Vahid View Post
        I didn't see that before but that's very similar to the way i did, but this is the problem:

        When you create first release we call R1 you've your all base assets inside .pak file and it's ok
        then when you create your first Patch we call P1 it'll add all changes & assets to a new .pak file named New_P.pak and it's ok
        but problem starts here when you want to create P2, at this point the new _P.pak has previous P1 content and it seems users must download P1 & P2 and when and if your P1 was a large file the P2 has all P1 assets and makes it large.

        My Solution is : use epic patching tool for some changing like scripting and small changes and create custom .pak for new assets and load them manually but this way is a little hard to manage custom .pak file like creating and load priority .

        Let me know what do you think?
        I've not investigated Epic patching tool yet, thanks for the heads up though I will check it out as soon as I can!

        Originally posted by zale90 View Post
        Hello Rama,

        I'm trying to save a texture from a RenderTarget to a file. Used the C++ function to create a T2D from a RT and then used your VictoryGetPixelsArrayFromT2D and VictorySavePixels, but the file looks really weird and I guess it has to do with the compression you mentioned. However I can't deactivate it, only choose between different settings like VectorDisplacementMap, Default DXT1 etc.). Where did you find the "Turn off all compression" option?
        When I use the engine function CaptureComponent2DSaveImage it works as it should except I get a HDR file I can't work with, because I haven't found a way to import it.
        [ATTACH=CONFIG]151108[/ATTACH]

        Edit:
        Okay i got it finally working..
        Instead of using a RenderTarget from the engine which always uses compression, I just generated it with C++ with the correct PixelFormat:

        Code:
        UTextureRenderTarget2D* blah::CreateRenderTargetBGRA8(UObject* outer, int32 TexWidth, int32 TexHeight)
        {
        	UTextureRenderTarget2D* newRT = NewObject<UTextureRenderTarget2D>(outer);
        	newRT->InitCustomFormat(TexWidth, TexHeight, EPixelFormat::PF_B8G8R8A8, 0);
        	return newRT;
        }
        and used this to create a T2D from a RT2D
        Code:
        UTexture2D* bla::RenderTargetToTexture2D(UObject *outer, UTextureRenderTarget2D* target)
        {
        	target->CompressionSettings = TextureCompressionSettings::TC_MAX;
        	target->CompressionNone = 1;
        
        	UTexture2D* CreatedTexture = target->ConstructTexture2D(outer, "", EObjectFlags::RF_NoFlags, 0, 0);
        
        	CreatedTexture->CompressionSettings = TextureCompressionSettings::TC_MAX;
        	CreatedTexture->MipGenSettings = TextureMipGenSettings::TMGS_NoMipmaps;
        	CreatedTexture->LODGroup = TextureGroup::TEXTUREGROUP_UI;
        	CreatedTexture->Filter = TextureFilter::TF_Nearest;
        	CreatedTexture->CompressionNone = 1;
        	return CreatedTexture;
        }
        Thanks for sharing your solution!



        Rama
        Last edited by Rama; 08-07-2017, 12:45 AM.
        UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

        ♥ Rama

        Comment


          Victory Plugin 4.17

          Dear Community,

          Here is the 4.17 release of Victory Plugin!

          Please keep in mind 4.17 is an experimental build of UE4 still, so there's a chance Epic may make changes that break my current 4.17 version of the plugin. If this happens let me know

          Special thanks to Community member [MENTION=106257]teak421[/MENTION] for cleaning up some of the categories to result in only "Victory BP Library" being present in your right click context searches!

          EDIT:

          Now that official 4.17 launcher version has been released, I've updated the plugin to full release.



          Rama

          ~~~

          Download Links

          4.17 Build (win32, win64, editor, dev packaged, and shipping)
          http://www.mediafire.com/file/8slx62...toryPlugin.zip


          ♥ Please note I now use the UE4 Marketplace C++ Plugin Standard when packaging Victory plugin for you ♥

          1. Win64 Development
          2. Win64 Shipping <~~~~~~ NEW!
          3. Win32 Development
          4. Win32 Shipping

          Please see my instructions for Packaging UE4 Plugins With Your Game.

          ~~~

          Prior Engine Versions

          4.11: http://www.mediafire.com/download/jp...ryPlugin11.zip

          4.12: http://www.mediafire.com/download/g4...ryPlugin12.zip

          4.13: https://www.mediafire.com/?7kt9fepwa1pgs0y

          4.14: http://www.mediafire.com/file/7915cu...ryPlugin14.zip

          4.15: https://www.mediafire.com/?6nne04gd74emnzu

          4.16: http://www.mediafire.com/file/ieovbd...ryPlugin16.zip

          ~~~

          Donations can be sent to me via:
          http://lightningfitness.org/donate/



          Rama
          Last edited by Rama; 08-08-2017, 08:44 PM.
          UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

          ♥ Rama

          Comment


            All,

            Please keep in mind that some of the Blueprint nodes have been re-categorized...including what Rama mentioned above. For example, some were not categorized have been moved under Misc. and others that were not categorized were moved to the appropriate category. This was pass number one and more changes might be done... Open to suggestions as well! Thanks to Rama for making such a great plugin.

            teak
            "A little bit of nonsense now and then is cherished by the wisest men..."
            -- Willy Wonka

            Smooth Zoom Camera Plugin for 4.24 here.

            Comment


              Fantabulastic.

              Comment


                Originally posted by Rama View Post
                .... If this happens let me know
                Rama
                4.17 says the plugin is incopatible with current version. Could you please look into it or give advice?
                All i've done is to use freshly installed 4.17 and plugin downloaded from the link you provided.
                THANKS,
                H

                Comment


                  Originally posted by Harcarik View Post
                  4.17 says the plugin is incopatible with current version. Could you please look into it or give advice?
                  All i've done is to use freshly installed 4.17 and plugin downloaded from the link you provided.
                  THANKS,
                  H
                  The release version of 4.17 was just released, I've now updated the plugin to release 4.17

                  4.17 Build (win32, win64, editor, dev packaged, and shipping)
                  http://www.mediafire.com/file/8slx62...toryPlugin.zip




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

                  ♥ Rama

                  Comment


                    Hi Rama I have a request,

                    Could you make a 'reset input to defaults' node? I am having a hell of a time trying to reset re-binded inputs. Especially double and triple binded. Deleting the input.ini file your nodes generate does it, but only after game restart (no fun for a normal user :P).

                    Thanks muchly

                    -LZ

                    Comment


                      Huge thanks for a quick 4.17 update! <3

                      Comment


                        Aaand, it WORKS! Thank you !!

                        Comment


                          Hi Rama, do you have the new update of VictoryEdEngine for 4.17? looking foward to it

                          Comment


                            Hello Rama, quick question. I don't know the networking capabilities of UE4 but would it be possible to have a function that would allow you to communicate with a server by using an IP adress? So you could talk to a server without joining it's "game". Thanks in advance.

                            Edit: Checked the marketplace and someone has a plugin for more or less what I wanted.
                            Last edited by Tekoppar; 08-12-2017, 04:51 PM.

                            Comment


                              Originally posted by Harcarik View Post
                              Aaand, it WORKS! Thank you !!
                              Hee hee!

                              Originally posted by tbjbu2 View Post
                              Huge thanks for a quick 4.17 update! <3
                              You're welcome!



                              Rama

                              Originally posted by el zee View Post
                              Hi Rama I have a request,

                              Could you make a 'reset input to defaults' node?
                              Ahh that's an interesting idea, does anyone have bandwidth to help do this, this is for the keyRebinding system. I myself am in crunch mode with my game at the moment. If anyone can help and make PR or even just send me code I can integrate.



                              Rama
                              Last edited by Rama; 08-13-2017, 09:27 AM.
                              UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                              ♥ Rama

                              Comment


                                Victory Math Helper BP Nodes

                                Dear Community,

                                I have 4 Math BP nodes for you!

                                ~~~

                                Efficiently Sort Integer / Float Array

                                Now you can easily and efficiently sort an integer or float array, with the smallest entry being put at index 0!

                                This modifies the original array, saving you from creating unnecessary duplicate array data.

                                So my BP sort node is very efficient!

                                Click image for larger version

Name:	SortIntAndFloatArrays.jpg
Views:	3
Size:	202.5 KB
ID:	1132363

                                ~~~

                                Plus Equals and Minus Equals Integer Math Operators

                                Typically you have to Get an integer variable and then Set it with some value added/subtracted in order to modify an integer value.

                                I find this rather cumbersome, especially because in C++ there is the += and -= operators which make adding and subtracting from integers very fast!

                                Using my new BP Operators you can easily add a value to an integer or subtract a value from an integer!

                                Note my operator modifies the original value and returns it, so I cannot make these operators Pure. Execution pins are required because the value is getting modified.

                                Click image for larger version

Name:	PlusEqualsMinusEquals.jpg
Views:	3
Size:	219.6 KB
ID:	1132365

                                ~~~

                                The C++ Code Involved

                                In order to make these 4 new nodes I took advantage of UPARAM(ref) which allows a BP variable to be modified in C++ and returned back to Blueprints.

                                I wrote a wiki on UPARAM(ref) that you can enjoy!

                                Code:
                                void UVictoryBPFunctionLibrary::VictoryIntPlusEquals(UPARAM(ref) int32& Int, int32 Add, int32& IntOut)
                                {  
                                	Int += Add;
                                	IntOut = Int; 
                                } 
                                void UVictoryBPFunctionLibrary::VictoryIntMinusEquals(UPARAM(ref) int32& Int, int32 Sub, int32& IntOut)
                                { 
                                	Int -= Sub;
                                	IntOut = Int; 
                                }
                                ~~~

                                Download Links

                                4.17 Build (win32, win64, editor, dev packaged, and shipping)
                                http://www.mediafire.com/file/8slx62...toryPlugin.zip


                                ♥ Please note I now use the UE4 Marketplace C++ Plugin Standard when packaging Victory plugin for you ♥

                                1. Win64 Development
                                2. Win64 Shipping <~~~~~~ NEW!
                                3. Win32 Development
                                4. Win32 Shipping

                                Please see my instructions for Packaging UE4 Plugins With Your Game.

                                ~~~

                                Prior Engine Versions

                                4.11: http://www.mediafire.com/download/jp...ryPlugin11.zip

                                4.12: http://www.mediafire.com/download/g4...ryPlugin12.zip

                                4.13: https://www.mediafire.com/?7kt9fepwa1pgs0y

                                4.14: http://www.mediafire.com/file/7915cu...ryPlugin14.zip

                                4.15: https://www.mediafire.com/?6nne04gd74emnzu

                                4.16: http://www.mediafire.com/file/ieovbd...ryPlugin16.zip

                                ~~~

                                Donations can be sent to me via:
                                http://lightningfitness.org/donate/



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

                                ♥ Rama

                                Comment

                                Working...
                                X