Announcement

Collapse
No announcement yet.

From Me For You in the Latest Engine Release

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

    #31
    Seriously Rama you're awesome, these additions are going to very useful in our projects so thanks <3

    Comment


      #32
      Some say his beard runs on unreal engine, that's why he knows so much! Keep it up
      Ben Halpin - Lead Developer - Lazy Games
      Overdosed on Early Access: Overdosed - A Trip To Hell
      Give a 'like' on fb: https://www.facebook.com/Properlazygames Give a 'follow' on twitter: https://twitter.com/ProperLazyGames And why not check out www.lazygames.org

      Comment


        #33
        Originally posted by RumbleMonk View Post
        This is great, Rama - or to speak Rama language: ♥ ♥ ♥

        BTW, did you try to get your get available screen resolution node into Unreal in the end?

        Thanks again!
        oh yea! I still have to make that pull request! Another reminder may be required if I dont get to it in the next 2 weeks or so

        Originally posted by PhoTek View Post
        Seriously Rama you're awesome, these additions are going to very useful in our projects so thanks <3
        You're welcome! Hee hee!

        Originally posted by Lazy Games View Post
        Some say his beard runs on unreal engine, that's why he knows so much! Keep it up
        Hee hee! * Blushes *

        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


          #34
          A reminder to all you BP multiplayer folks that you can now get the unique Player net ID as a simple int32 in BP!

          //link within this thread
          https://forums.unrealengine.com/show...l=1#post187609

          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


            #35
            From Me For You in 4.7

            The following BP nodes are nodes that I submitted to Epic!

            I wanted to make sure you knew about the new tools I worked hard to make available to you, after realizing the need for them in my own BP and UMG coding!

            ~~~

            Get All Widgets of Class

            Click image for larger version

Name:	GetAllWidgets.jpg
Views:	1
Size:	185.8 KB
ID:	1067236

            This is my most substantial offering!

            I use this node all the time!

            Please note you have the option to not only get widgets that are main widgets attached to the viewport, but also interior widgets that are part of your Top-Level widgets!

            ~~~

            So Much Power

            This means you can iterate over all the widgets that are part of your UMG systems, any where they are, at any time, and use a for loop to do whatever you want to them!

            ~~~

            How To Use Get All Widgets Of Class

            Click image for larger version

Name:	GetAllWidgetsUsage.jpg
Views:	1
Size:	195.0 KB
ID:	1067239

            ~~~

            Widget Super Classes

            If you make a parent UMG widget that is empty, that all of your other UMG widgets inherit from, then you can use my GetAllWidgetsOfClass node with your parent class to instantly access all of your UMG widgets at any time and perform actions on them!

            ~~~

            Has Child

            Click image for larger version

Name:	HasChild.jpg
Views:	1
Size:	215.8 KB
ID:	1067237

            ~~~

            2D Interpolation Nodes

            Paper 2D and UMG 2D Animation Tools

            Click image for larger version

Name:	Interp2D.jpg
Views:	2
Size:	178.8 KB
ID:	1067238

            I submitted these nodes so that you have complete power in Blueprints to do your own 2D interpolated movement / translation animations! You can also use these nodes to interpolate any Vector2D values you want!

            These nodes are great for coding your own UMG animations programmatically! (My original use case)

            And I am sure all you Paper2D folks can find endless uses for 2D interpolation in 2D world!

            ~~~

            What is 2D Interploation?

            You provide the current value, and the final goal value, and this node will incrementally move the current value toward the goal value over time.

            So these nodes are best used with a Timer function or in a Tick function, and you simply provide the speed of motion/interploation that you want as well as World Delta Seconds.

            ~~~

            Usage of Vector 2D Interp To

            Click image for larger version

Name:	Vector2DInterp2.jpg
Views:	2
Size:	216.4 KB
ID:	1067244

            This is just one possible use of Vector2D interploation!

            Notice you always pass in the current state of the object/widget/actor/variable, and then you use World Delta Seconds and a timer/tick function to keep updating the position toward the goal location!

            ~~~

            Destructibles Can Set Gravity After Being Destroyed Into Pieces

            PhysicsX Contribution ~ Set Gravity of Physics Simulating Destructible Pieces

            I also submitted an improvement for the PrimitiveComponent::SetGravityEnabled override for Destructible Components, which is usable in BP!

            This fix allows you to change the gravity of destructible pieces after the destructible has been destroyed!

            So you could for example have a destructibel actor that explodes and sends apex physx pieces everywhere, hanging out in zero gravity, and then wait 2 seconds, and then call SetGravityEnabled on the DestructibleComponent to have all the pieces then fall to the ground!

            ~~~

            PhysX Code

            Here's what my PhysX code offering looks like! You can find it in UDestructibleComponent.cpp

            Code:
            void UDestructibleComponent::SetEnableGravity(bool bGravityEnabled)
            {
            	Super::SetEnableGravity(bGravityEnabled);
            	//~~~~~~~~~~~~~~~~~~~~~~
            	
            	#if WITH_APEX
            	
            	//Ensures that gravity can be turned on/off after apex simulation has begun!
            	for(FDestructibleChunkInfo& Each : ChunkInfos)
            	{  
            		physx::PxRigidDynamic* Actor = Each.Actor;
            		if(Actor)
            		{    
            			Actor->setActorFlag(PxActorFlag::eDISABLE_GRAVITY, !bGravityEnabled);
            		}
            	}	
            	 
            	#endif //WITH_APEX
            }
            Enjoy!

            Rama
            Attached Files
            Last edited by Rama; 02-26-2015, 09:29 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


              #36
              Very cool stuff! The UMG nodes will save us so much time!

              Comment


                #37
                Originally posted by Zooch View Post
                Very cool stuff! The UMG nodes will save us so much time!
                Hee hee! I use GetAllWidgetsOfClass all the time! Really lets you modify your UMG widgets from anywhere in your game code!

                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


                  #38
                  New Nodes for you in 4.7!

                  Get All Widgets of Class ~ This one is hugely useful for any UMG work!

                  2D Interpolation Functions ~ Paper2D !!!

                  Panel Widget, Has Child ~ Easily check if a particular widget is in a scroll box or other Panel Widget!


                  Full Details and pictures here!
                  https://forums.unrealengine.com/show...l=1#post230566
                  Last edited by Rama; 03-02-2015, 11:31 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


                    #39
                    Color Interploation Node, CInterpTo

                    Dear Community,

                    I just experienced a perfect use case for my CInterpTo node that I wanted to share with you, and remind you that CInterpTo (Color interpolation) is available to you in BP!

                    CInterpTo is one of the earlier nodes that I contributed and Epic accepted into the Engine.

                    Here's the setup:

                    Click image for larger version

Name:	ColorInterp.jpg
Views:	1
Size:	268.2 KB
ID:	1084533

                    Use Case:

                    In my above use case I am interpolating the color of a UMG Text block, from whatever the color currently is, to the goal color of Red or Green!

                    The boolean GoToGreen can be switched at any time, and wherever the color currently is it will start heading for the new goal!

                    So it really doesnt matter if the current color is all the way at red or is some shade of color between red and green, the color will smoothly head for the goal color!

                    In this way you can animate colors easily for UMG or any of your BP game coding needs!

                    Steps:

                    1. My CInterpTo node does not need an exact starting color, it simply interpolates the color toward the chosen goal at the speed you specify! So in my setup, the first step is to get the current color of the UMG Text widget.

                    I am saving this value off as a var to make the graph cleaner, you could just access the value directly.

                    2. To use my CInterpTo node, you simply supply the current color value, and the goal current value. You can use GetWorldDeltaSeconds or since this is a Tick function you can use DeltaSeconds output of Tick Event. I chose to use GetWorldDeltaSeconds to keep the graph clean.

                    ~~~

                    Interpolation Speed

                    I recommend a starting value between 3 and 7, and then you can adjust to taste

                    ~~~

                    Summary:

                    Using a tick function or a custom timer function, you can use CInterpTo to get from whatever the current color of any UMG widget is to the goal color of your choosing, at the speed of your choosing!

                    Enjoy!

                    Rama
                    Last edited by Rama; 08-26-2015, 09:00 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


                      #40
                      Draw Circle Released in 4.10!

                      Dear Community,

                      I submitted a C++ pull request to Epic to make Draw Debug Circle into a blueprint node, and now it has been released in 4.10!

                      From the 4.10 release notes:
                      "New: Blueprints can now draw circles via the Debug Draw Circle node."

                      Here are some pics from my Victory BP Library version!

                      Make sure to check out "Draw Debug Circle" in 4.10 main engine release!

                      Click image for larger version

Name:	drawthickcircle3.jpg
Views:	11
Size:	100.4 KB
ID:	1093204

                      Click image for larger version

Name:	DrawThickCircle4.jpg
Views:	11
Size:	131.1 KB
ID:	1093205

                      ~~~

                      Other Contributions from Me In 4.10

                      1. I made an algorithm performance improvement to the FABRIK animation node:
                      https://github.com/EpicGames/UnrealEngine/pull/1133

                      2. I ensured proper functioning of SetEnableGravity for destructible components, so that you can change gravity of apex pieces at any time after the destructible is destroyed.
                      https://github.com/EpicGames/UnrealEngine/pull/1249

                      3. FVector:: DistSquaredXY for Vector.h, only C++ accessible
                      https://github.com/EpicGames/UnrealEngine/pull/1365

                      4. Crash fix for GameSession.h, when the playerstate class is invalid in the game mode.
                      https://github.com/EpicGames/UnrealEngine/pull/1453

                      Enjoy!

                      Rama
                      Last edited by Rama; 11-12-2015, 01:30 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


                        #41
                        From Me For You in 4.11 ♥ Rama

                        Dear Community,

                        In 4.11 here are the BP nodes / C++ code that I contributed to the engine that Epic accepted!

                        1. Is Player Controlled

                        From the release notes:

                        Code:
                        New: Added Pawn::IsPlayerControlled() to compliment IsLocallyControlled() (thanks EverNewJoy!)
                        This is for BP multiplayer games!

                        It lets you know if the character is currently being controlled by a human player

                        If you combine this with IsLocallyControlled() via a macro you can find out easily if any character/pawn is being locally controlled by a human player!

                        Click image for larger version

Name:	IsPlayerControlled.jpg
Views:	3
Size:	149.9 KB
ID:	1103600

                        From the 4.11 Release notes:

                        Code:
                        New: Vector2D now has equal and not equal functions, just like Vector3D.
                        2. Vector2D == Vector2D and Vector2D != Vector2D

                        Click image for larger version

Name:	Vector2DEqualsNotEquals.jpg
Views:	3
Size:	225.4 KB
ID:	1103601

                        3. Get Capsule Half Height Without Hemisphere

                        If you are working with PhysX code a lot, you will enjoy this addition to UE4 because it gives you the half height of the capsule the same way hte PhysX engine sees it!

                        Click image for larger version

Name:	CapsuleHHWithoutHemisphere.jpg
Views:	3
Size:	298.5 KB
ID:	1103602

                        ~~~

                        C++

                        From the release notes:

                        Code:
                        New: Added FVector::DistSquaredXY helper function
                        Enjoy!



                        Rama
                        Last edited by Rama; 04-01-2016, 06:20 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


                          #42
                          Oh Rama, you are such a sweetheart <3

                          Thank-you so much for all of your great contributions!

                          Comment


                            #43
                            Originally posted by Derjyn View Post
                            Oh Rama, you are such a sweetheart <3

                            Thank-you so much for all of your great contributions!
                            He ehee!

                            You're welcome!



                            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


                              #44
                              From me for you in 4.12, lots of things!

                              Dear Community,

                              In 4.12 I made a large number of contributions that you can now play with!

                              Here's a picture!

                              Click image for larger version

Name:	FromMeIn412.jpg
Views:	3
Size:	243.8 KB
ID:	1107529

                              Actor Functions

                              Was Recently Rendered: Extremely powerful node to let you perform game code optimizations based on whether you know the actor is being rendered, or has been rendered recently. Actors that have not been rendered for awhile can stop running functionality that is important, but not if the actor has been out of view for a long time!

                              Get Time Since Creation: This is very useful for actors that you create during runtime and want to know how long they've been around for! Their runtime-lifetime basically

                              ~~~

                              Vector2D Equality

                              You can now compare two Vector2Ds in BP with a tolerance of your choosing!

                              ~~~

                              Make Plane From Point and Normal


                              There was no easy constructor for making a plane in BP, so I've now provided you with one!

                              It's easy! Just recall that "normal" in this context means the direction that is perpendicular to the surface of the plane, or basically the facing direction of the flat plane surface.

                              ~~~

                              Hud Draw Line With Thickness

                              Now you can draw HUD lines with a thickness!

                              ~~~

                              Reminder: IsPlayerControlled()

                              Dont forget about IsPlayerControlled() which got released in 4.11, I am hoping it will help all you folks doing BP multiplayer out quite a bit, when it comes to AI vs players!



                              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


                                #45
                                From Me For You in 4.13 ~ Load Level Instance

                                Dear Community,

                                Cheat Manager Exposure in 4.13

                                In 4.13 I exposed the Cheat Manager C++ class to Blueprints, you can now use a custom debug camera BP!

                                More on this is coming in 4.14

                                In 4.13 I've contributed a BP Node, Load Level Instance, which allows you to add multiple level instances of the same .umap without having to add the level to your levels list! Ideal for partly procedural worlds where you work from a set of tiles

                                Click image for larger version

Name:	LoadLevelInstance.jpg
Views:	4
Size:	151.4 KB
ID:	1114387

                                Click image for larger version

Name:	LoadLevelInstance2.jpg
Views:	4
Size:	136.2 KB
ID:	1114388

                                Click image for larger version

Name:	LoadLevelInstanceBP.jpg
Views:	4
Size:	292.6 KB
ID:	1114389
                                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