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

    Hi Rama,

    still trying to use the RenderedActor Node without succes. Here is a pic how I use it. The result seems totally random. Sometimes it seems to work but most of the time it prints out names of Actors which completly are out of sight.

    Click image for larger version

Name:	RenderedActors.PNG
Views:	1
Size:	58.7 KB
ID:	1068336

    Cheers Pascal

    Comment


      Nice work Rama - Loving seeing how you're transforming the engine! This is yet another great idea which will help my project out.

      Can the meshes have components attached or is that not in the spirit of the static part of static mesh?

      Also, can you access the scale and positions of the items? I was wondering if you could make a voxel type look by running a height field from an image or something through a flat plane of instanced cubes?

      Or - could you offset the vertices in the Z axis using a displacing material with a world sized UV?

      Keep it up buddy - I'm interested to see what games you've been making (if you have any time for your own projects outside doing this great stuff).

      Dan.

      Comment


        Originally posted by Luos View Post
        Have my babies.
        Right here, right now.
        or a hug, that will suffice as well
        Hee hee! * blushes *

        Originally posted by Dannington View Post
        Nice work Rama - Loving seeing how you're transforming the engine! This is yet another great idea which will help my project out.

        Can the meshes have components attached or is that not in the spirit of the static part of static mesh?

        Also, can you access the scale and positions of the items? I was wondering if you could make a voxel type look by running a height field from an image or something through a flat plane of instanced cubes?

        Or - could you offset the vertices in the Z axis using a displacing material with a world sized UV?

        Keep it up buddy - I'm interested to see what games you've been making (if you have any time for your own projects outside doing this great stuff).

        Dan.
        I will be adding support for creating instances via a Blueprint node soon, then you can use any kind of logic you want!

        Yea I do have personal project I am working on, the demo project for my book on UE4 C++!

        I will try and post videos soon as I can!

        Great to hear from you Dannington!

        Rama

        PS:

        I dont think you can attach stuff to individual instances of instanced static mesh component, but you could attach to the whole actor and position the attachment in world space!
        Last edited by Rama; 03-13-2015, 08:30 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


          Click image for larger version

Name:	UMGRamaNodes.jpg
Views:	5
Size:	162.4 KB
ID:	1068394

          Rama's Suite of Powerful UMG Nodes

          My Get All Widgets Of Class Was Added to the Engine as of 4.7! You can use it in-Engine right now!

          Here are the 3 core BP nodes that I've been using to make all of my complicated interacting UMG menus, including an in-game file browser and a menu that allows you to change the materials on any skeletal mesh, while in-game!

          These nodes are available to you now!

          ~~~

          Get All Widgets of Class

          Allows you to not have to store references everywhere to your widgets, making it easy to interact with the Player Controller and My Character blueprints

          Also makes it easy to remove a loading screen after a level transition, without storing refs in Game Instance class

          ~~~

          Remove All Widgets Of Class

          You can find and remove any widget any time this way, no matter where you are in BP! (here I am in the Level BP)

          Rama Tip:
          If you make a general superclass for all your widgets (Reparent to a blank UserWidget of your own making), you can clear your entire UI system from the viewport with a single call to RemoveAllWidgetsOfClass, supplying the class that is your super class for all your user widgets!

          So lets say you have 3 user widgets that you made, make a 4th that is blank, reparent your existing 3 to your new empty 4th widget ("WidgetMaster" for example).

          Now you can just call RemoveAllWidgetsOfClass on your new 4th widget, WidgetMaster, and all 3 of your existing widgets will be removed automatically from the viewport!

          ~~~

          Is Widget Of Class In Viewport

          Take action based on the dynamic lookup of whether a certain widget is currently visible!

          No need to store refs or bools anywhere, just do a dynamic look up that is lightning fast!



          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 edover View Post
            Latest builds seem to not work with pure BP builds. Plugin 'VictoryPlugin' failed to load because module 'VictoryBPLibrary' could not be found. Tried with latest 3 builds on the wiki. Guess I'll come back to this later.
            Originally posted by Rama View Post
            I just tested the latest version of my plugin as working in a BP only project,[/COLOR][/B] including my Victory Editor features of vertex snapping and Instanced Static Mesh Creation.
            However I am using launcher version of 4.7.1, not 4.7.2, are you using 4.7.2? Usually hotfixes are binary compatible, that is the only issue I can imagine.
            I guess he meant packaging a blueprint only project with your plugin, which does not work.
            Easy to use UMG Mini Map on the UE4 Marketplace.
            Forum thread: https://forums.unrealengine.com/show...-Plug-and-Play

            Comment


              Rama, take all the hugs I have! Great job!
              Since I don't know anything about instanced meshes, I would like to ask if it only works with meshes of the same kind? So I can't instance different meshes, right?

              Greetings,
              Dakraid

              Comment


                I still have no idea what this is, what it does, or why I would want it, even after reading 3 pages of docs.

                But looking through this thread it seems that Rama has done something good, and given it away, so thanks from a future version of me, who knows what it's all about and is using it.
                Bioelectrical Inference Endjinn

                Comment


                  The ISM tool is seriously amazing. I was able to take a level with a lot of scaled around meshes (cave made out of rocks) and quickly go through and turn them all into ISMs - performance got a huge boost. It will also be super useful for hand editing the random-gen levels that the Turn Based Strategy Example spits out (I modified it so you can run it in editor to generate levels at design-time and hand-edit them). Before I was having to figure out their coordinates and then find the instance that way, manually!

                  Thanks Rama

                  Edit: It would be awesome if you could make it so it was possible to select individual instances after an ISM is made and translate/scale/rotate them without converting back. But that's just gravy.
                  Storyteller - An immersive VR audiobook player

                  Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                  Comment


                    Originally posted by Dakraid View Post
                    Rama, take all the hugs I have! Great job!
                    Since I don't know anything about instanced meshes, I would like to ask if it only works with meshes of the same kind? So I can't instance different meshes, right?

                    Greetings,
                    Dakraid
                    Yes each instanced static mesh can only be instancing a single static mesh asset, but you can make as many instanced static meshes as you want using my system, and fast to!

                    I pick the static mesh asset from the first static mesh actor that you have selected when you press the i key

                    ~~~

                    Originally posted by n00854180t View Post
                    The ISM tool is seriously amazing. I was able to take a level with a lot of scaled around meshes (cave made out of rocks) and quickly go through and turn them all into ISMs - performance got a huge boost. It will also be super useful for hand editing the random-gen levels that the Turn Based Strategy Example spits out (I modified it so you can run it in editor to generate levels at design-time and hand-edit them). Before I was having to figure out their coordinates and then find the instance that way, manually!

                    Thanks Rama
                    Yaaay! Glad you like!

                    If you'd like to see this in the Engine, make sure to share your beneficial experience on Github itself!

                    https://github.com/EpicGames/UnrealEngine/pull/917
                    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


                      Rama,

                      Finally added your plugin to a project and got it all working right. I just added a c++ function, then copied the victoryplugin directory over to my project and like magic VS picked up that it was there and added it to the sln.

                      So now I can use some of the BP nodes you have made, which is great since I find them to be necessary stuff that should be standard.

                      I will probably at some point pull the editor stuff out, as I am not using that part of the plugin, so no need to add extra code to the build.

                      Thanks.
                      Acclivity Game Studios. Making a BP FPS, Tutorial Series on Blog : On Unreal Wiki : Twitch

                      Comment


                        Originally posted by arbopa View Post
                        Rama,

                        Finally added your plugin to a project and got it all working right. I just added a c++ function, then copied the victoryplugin directory over to my project and like magic VS picked up that it was there and added it to the sln.

                        So now I can use some of the BP nodes you have made, which is great since I find them to be necessary stuff that should be standard.
                        That's great to hear! Have fun today!
                        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


                          Get Current Operating System Time

                          annnnd

                          Get Milliseconds/Seconds/Minutes/Hours Passed Since Previous Recorded Time!


                          These two nodes can be used to

                          1. obtain the current local Operating System Time for your computer.

                          2. obtain the amount of milliseconds/seconds/minutes/hours that have passed since the time you recorded for the first node! You can stores as many times as you want! They are simply stored as a string!


                          You can use these two nodes to record down to the sub-millisecond the amount of time passing between game events!

                          The milliseconds portion is a float, so you can record far smaller than 1 millisecond!


                          In the attached picture I record the amount of real-world time between two play sessions!

                          Click image for larger version

Name:	OSTime.jpg
Views:	2
Size:	257.9 KB
ID:	1070379

                          Enjoy!

                          Rama
                          Attached Files
                          Last edited by Rama; 03-15-2015, 04:05 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


                            Rama!

                            There's a bug in your Instanced Static Mesh code!

                            YOU CAN'T SEND YOUR INSTANCED STATIC MESH COLLECTION INTO ANOTHER LEVEL via level Streaming (I mean say you put in Persistant Level and you meant it to be in "PL_01") if you use "Move Selected Actors to Level" your code Breaks!... Sometimes.

                            It's super-weird. Sometimes it'll happen and sometimes it won't. Just thought I'd let you know!
                            KITATUS
                            "Information shouldn't be behind a paywall, It should be free for all!"

                            Comment


                              Originally posted by Rama View Post
                              Rama' Suite of Custom Config Section BP Nodes!

                              Using my new suite of BP nodes, you can create as many of your own custom config file sections as you want!

                              You can both create and retrieve ini variables with any name and fundamental type that you want!

                              [ATTACH=CONFIG]27575[/ATTACH]

                              ~~~

                              Supported Types:

                              Bool
                              Int
                              Float
                              Rotator
                              Vector
                              Color
                              String

                              ~~~

                              Why Use a Config Var?

                              Config vars have several benefits

                              1. Persistent data storage without using a SaveGame struct or GameInstance, store simple quantities of data and player customization this way! Data is stored between level loads and even after the current instance of the game is shut down.

                              So in this way config vars have greater persistence than the GameInstance class!

                              2. Player-Driven Customization, Players of your game can tweak the config vars that you make available for them on their hard disk, by editing the .ini file directly, just like AAA games! This is the most significant advantage of using config files, and their real core purpose.

                              3. Simplicity, simpler to use than the BP SaveSystem (which is quite wonderful by the way), but not quite as powerful in that you can only store basic data types, not UObjects and Actors.

                              4. Organization, you can create as many config header sections as you want using my nodes, organizing all your custom settings this way!

                              ~~~

                              Game.ini

                              All of your custom created config vars and sections are stored in:

                              Saved/Config/Windows/Game.ini

                              Players can navigate to this location on their harddrive to edit your ini files just like any AAA game would allow!

                              Here's what my Game.ini file looks like after running some tests!

                              Code:
                              [DebugWindows]
                              ConsoleWidth=160
                              ConsoleHeight=4000
                              ConsoleX=-32000
                              ConsoleY=-32000
                              
                              [/Script/UnrealEd.ProjectPackagingSettings]
                              BuildConfiguration=PPBC_Development
                              StagingDirectory=(Path="E:/MYPROJECT_DELETE")
                              FullRebuild=True
                              ForDistribution=False
                              UsePakFile=True
                              UseOBB_InAPK=False
                              CulturesToStage=en
                              
                              [Victory]
                              BoolVar=True
                              VectorVar=X=1.000 Y=2.000 Z=9000.123
                              StrVar=Yay For Custom Config Vars!!!
                              FloatVar=234.000000
                              Now you have fully featured ability to use config variables entirely in BP!

                              Rama

                              PS: Here's example usage!

                              [ATTACH=CONFIG]27576[/ATTACH]
                              How can I delete the section inside the config file. I tried delete the section by editing the Game.ini but everytime I add or modify the config file using BP nodes, all the previous sections comes back.

                              Thanks,

                              Comment


                                Originally posted by Shantaram View Post
                                How can I delete the section inside the config file. I tried delete the section by editing the Game.ini but everytime I add or modify the config file using BP nodes, all the previous sections comes back.

                                Thanks,
                                I am looking into the matter and will post when I have more info

                                EDIT: I dont see any easy way to remove the cached version of the added section names, upon quick glance I did not see the values being stored in any default ini at the project level.

                                There do not appear to be any built in functions for deleting a section, if someone finds such a function let me know!

                                Anyone who has more time to look into this, please investigate ConfigCacheIni.h and also see if they can find where the saved version of the sections and values is going!

                                Rama
                                Last edited by Rama; 03-17-2015, 12:39 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

                                Working...
                                X