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 Rama View Post
    Hee hee glad you like!

    Content-only plugins are coming soooon! Very high on Epic's priority list!

    Rama
    I though they'd already fixed that. I package my blueprint project just fine using this plugin.
    Though I'm using only the function for reading available screen resolutions.
    | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

    Comment


      Was looking for a way to lock mouse to the center of the screen... And landed here again! Rama for president!!
      | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

      Comment


        Originally posted by BrUnO XaVIeR View Post
        Was looking for a way to lock mouse to the center of the screen... And landed here again! Rama for president!!
        Hee hee!

        Great to hear from you Bruno!



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

        ♥ Rama

        Comment


          Hey Rama, I realized today that with the Spawn Actor into specified level node, Add Instance into specified level node would also be needed. I am not anywhere near ready to try it out, but others might find it useful sooner if you made it.
          Map Generator 1.0
          Map Generator 2.0
          Map Generator 3.0

          Comment


            Originally posted by Zeustiak View Post
            Hey Rama, I realized today that with the Spawn Actor into specified level node, Add Instance into specified level node would also be needed. I am not anywhere near ready to try it out, but others might find it useful sooner if you made it.
            Can you explain a bit more what you need and also any applicable C++ code / some kind of starting point?

            Congrats on all your awesome Map Generator progress!

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

            ♥ Rama

            Comment


              50+ Extra BP Nodes For You!

              No c++ required!

              No compile required!

              Download and plug in!

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



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

              ♥ Rama

              Comment


                Originally posted by Rama View Post
                Can you explain a bit more what you need and also any applicable C++ code / some kind of starting point?

                Congrats on all your awesome Map Generator progress!

                Rama
                Thanks!

                Basically you created the Spawn Actor Into Level node that lets you specify which level an actor gets spawned into. The same functionality is also needed for the "Add StaticMesh" and "Add Instance" nodes.

                I use "Add StaticMesh" to add a mesh to the world, then I use it's return value to set an InstancedStaticMeshComponent variable which I then later feed into "Add Instance".
                Map Generator 1.0
                Map Generator 2.0
                Map Generator 3.0

                Comment


                  Originally posted by Zeustiak View Post
                  Thanks!

                  Basically you created the Spawn Actor Into Level node that lets you specify which level an actor gets spawned into. The same functionality is also needed for the "Add StaticMesh" and "Add Instance" nodes.

                  I use "Add StaticMesh" to add a mesh to the world, then I use it's return value to set an InstancedStaticMeshComponent variable which I then later feed into "Add Instance".
                  I had a conversation with one of the Epic Devs about this topic and they said that spawning actors into sublevels is not a recommended workflow, and it is really only ever used in the code base for a small number of things.

                  I think you need to take a step back and look at why you feel you need to do this, and let me know as well! Cause Epic is basically saying this is not the way you're supposed to do things

                  The main reason being that an actor spawned into a sublevel directly will get taken out of existence instantly if the sublevel is streamed out.

                  But again I was told that the pull request for this would not be accepted because it is not a workflow that is even used by Epic for more than a few rare cases.

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

                  ♥ Rama

                  Comment


                    Do they have an alternative for procedural content generation with streaming, or is streaming just not available?

                    What kind of workflow do they recommend for that? How would they do a Minecraft?
                    Map Generator 1.0
                    Map Generator 2.0
                    Map Generator 3.0

                    Comment


                      So I just read the email from Marc.

                      I will be honest, I do not know what the optimal method for this spawning would be. I will try and explain the problem.

                      Requirements:
                      1. Instances, actors, volumes, etc, etc need to be procedurally spawned during run time.
                      2. Everything spawning needs to be associated with a streaming level that is already in the level.

                      Problems:
                      1. Spawn and Add instance actions put these objects into the persistent level.
                      2. There is no method(that I have found) of associating these objects with the streamed levels using blueprint.

                      Lets say I have a map, and it is spawned into the persistent level. For world wrap simulating a globe, I want to stream in copies of this map(and everything on it) as I move east or west so there is a seamless transition between one side of the globe and another.
                      Map Generator 1.0
                      Map Generator 2.0
                      Map Generator 3.0

                      Comment


                        Originally posted by Rama View Post
                        New Node

                        Get Static Mesh Vertex Locations!


                        Dear CatchPhyre,

                        As per your request I have now made a node to get the rotated,scaled,translated positions of all vertices of a static mesh!

                        This node is live in the current most recent plugin version!

                        https://wiki.unrealengine.com/File:VictoryPlugin.zip

                        Please refer carefully to my picture of how to set up this node correctly!

                        ~~~

                        Pictures

                        [ATTACH=CONFIG]13800[/ATTACH]

                        [ATTACH=CONFIG]13801[/ATTACH]

                        Enjoy!

                        Rama

                        PS



                        You're welcome!

                        Congrats on your first post, welcome to the forums!

                        Hi Rama,

                        Thanks for the updated plugin and the new nodes. I am now able to propagate a fire on a mesh based on where I click.

                        So when I click on a mesh (provided there are enough vertices on the mesh), it gets all the vertex locations. Using your closest vertex node, I create a source point for a flame emitter and spread it from there. I just got this to work early this week. Now comes my next challenge. My thesis is on "Material Based Fire Propagation & Degradation". An object on fire degrades. And the degradation happens from the source point (i.e in this situation where I click) and spreads out. To do this, I first tried vertex painting in the level editor. Depending on the vertex colors, different textures are exposed. And this is done using the vertex color node in material editor. Problem is this is not dynamic. Neither material editor nor blueprint editor has a node that allows passing of vertex color information dynamically. If this was possible, I would be able to assign a color to each vertex based of your existing vertex information nodes. This would communicate with the material editor and dynamically change the textures. Can you please help create a node to do this?

                        Thanks!!!

                        CatchPhyre

                        Comment


                          Originally posted by CatchPhyre View Post
                          Neither material editor nor blueprint editor has a node that allows passing of vertex color information dynamically. If this was possible, I would be able to assign a color to each vertex based of your existing vertex information nodes. This would communicate with the material editor and dynamically change the textures. Can you please help create a node to do this?

                          Thanks!!!

                          CatchPhyre


                          You'd need a entirely different class for this, instead of static mesh, you'd need to use a Dynamic Mesh, which involves a lot of C++ coding

                          I'll think about it but your request is quite complicated.

                          Your better off using a dynamic material instance and regulating which parts of the material change to being on fire.

                          Look up ue4 burn effect / ue3 burn effect to see what people have done in the past.


                          Doing this at vertex level just in Blueprints is going to be an uphill battle I surmise.

                          the key part about a "static" mesh is that it is static, I can't modify its vertex information at runtime, you need a dynamic mesh for that, which is not yet an official UE4 class.

                          Check out the C++ Dynamic Mesh thread for more info!

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

                          ♥ Rama

                          Comment


                            New UMG Node

                            Get All Widgets of Class

                            Ideal for UMG Level Transitions


                            I needed this node for Solus and so I am now sharing it with you!

                            The issue was that I could not save a reference to my new widget because it is loaded and then a level change occurs which resets all my HUD variables.

                            So I needed to access the widget after it was created dynamically, not relying on stored references within the HUD class.

                            I also did not want to have to store a reference to it in my Game Instance class cause then that leads to garbage collection issues.

                            I had to make the node for my own use and I have tested it as working in Solus!


                            Now you can retrieve an array of any type of user-made UMG widget that is currently in your game at any time!


                            ~~~

                            Download

                            https://wiki.unrealengine.com/File:VictoryPlugin.zip

                            ~~~

                            C++ Code

                            Here's what my C++ for this node looks like!

                            Code:
                            void UVictoryBPFunctionLibrary::GetAllWidgetsOfClass(UObject* WorldContextObject, TSubclassOf<UUserWidget> WidgetClass, TArray<UUserWidget*>& FoundWidgets)
                            {
                            	//Prevent possibility of an ever-growing array if user uses this in a loop
                            	FoundWidgets.Empty();
                            	//~~~~~~~~~~~~
                            	 
                            	if(!WidgetClass) return;
                            	if(!WorldContextObject) return;
                            	 
                            	UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
                            	if(!World) return;
                            	//~~~~~~~~~~~
                            	
                            	for(TObjectIterator<UUserWidget> Itr; Itr; ++Itr)
                            	{
                            		if(Itr->GetWorld() != World) continue;
                            		//~~~~~~~~~~~~~~~~~~~~~
                            		
                            		if(Itr->IsA(WidgetClass))
                            		{
                            			FoundWidgets.Add(*Itr);
                            		}
                            	}
                            }
                            ~~~

                            Pic

                            (right click -> open in new tab to see it better)
                            Click image for larger version

Name:	GetAllWidgetsOfClass.jpg
Views:	4
Size:	291.4 KB
ID:	1060442

                            Enjoy!

                            Rama
                            Last edited by Rama; 10-31-2014, 02:27 PM.
                            UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                            ♥ Rama

                            Comment


                              Originally posted by Rama View Post
                              You'd need a entirely different class for this, instead of static mesh, you'd need to use a Dynamic Mesh, which involves a lot of C++ coding

                              I'll think about it but your request is quite complicated.

                              Your better off using a dynamic material instance and regulating which parts of the material change to being on fire.

                              Look up ue4 burn effect / ue3 burn effect to see what people have done in the past.


                              Doing this at vertex level just in Blueprints is going to be an uphill battle I surmise.

                              the key part about a "static" mesh is that it is static, I can't modify its vertex information at runtime, you need a dynamic mesh for that, which is not yet an official UE4 class.

                              Check out the C++ Dynamic Mesh thread for more info!

                              Rama
                              Thanks Rama, I will check up on the past works on burn effects in the meantime!

                              Comment


                                Good luck CatchPhyre!

                                ~~~

                                New UMG node release, see just above!

                                Click image for larger version

Name:	GetAllWidgetsOfClass.jpg
Views:	4
Size:	291.4 KB
ID:	1060451

                                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