From Me For You in the Latest Engine Release

lol awesome are you into metal ?

http://wac.450f.edgecastcdn.net/80450F/loudwire.com/files/2012/01/slash.jpg

Haha I didnt get it at first.

Actually I am into letting Nature do Her thing, hee hee!

:heart:

Thats awesome :heart::heart::heart:

How can I correct for rotation of the box when using component bounds. I want to get a vector inside a box that is rotated but some of the vector values returned are outside of the box due to the rotation.

Sorry I dont have time to work on this right now, but I will keep your request in mind!

From Me For You in 4.6!

Dear Everyone,

It did not seem necessary to make a new thread for my 4.6 contributions, so here they are!

Two new nodes from me for you in 4.6, accepted pull requests by Epic!


**Big News For BP Multiplayer**

PlayerState->PlayerId is now exposed to BP!

This is the easiest and fasted way to know who is who in a real multiplayer game!

And it is a simple int32 so you can easily compare and even do a switch on int of you want!

**You now have the unique net ID of each player available to you in BP!
**

PlayerController->GetFocalLocation

GetFocalLocation is particularly useful when there is no possessed pawn, because then it returns the location of the camera in world space!

It’s also useful if you want to quickly get the location of the possessed unit without having to get the player character.

I’ve been wanting to get GetFocalLocation exposed to BP since the Beta!

It’s finally here!

Enjoy!

Thanks again for your gift (and i changed the title :wink: )

is great)

Oh wow that’s great! Thanks Fen!

Perfect!

:heart:

This is great, - or to speak language: :heart: :heart: :heart:

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

Thanks again!

Seriously you’re awesome, these additions are going to very useful in our projects so thanks <3

Some say his beard runs on unreal engine, that’s why he knows so much! Keep it up :slight_smile:

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 :slight_smile:

You’re welcome! Hee hee!

Hee hee! * Blushes *

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

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**

![45ac1c691eae24a298ca3a37eba962eb9760f837.jpeg|1012x780](upload://9WlGSfDQwJ8lOGMiN5Qvvuik6tp.jpeg)

**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**

![GetAllWidgetsUsage.jpg|1007x773](upload://rT2fLIQ0nf8QNxb0UplmrnzK93T.jpeg)

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**

![HasChild.jpg|1001x772](upload://xHgyqAl5TWLJpB14cDWQp6laGk9.jpeg)

2D Interpolation Nodes

Paper 2D and UMG 2D Animation Tools

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

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



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!

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!

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!

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:

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.

  1. 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!

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!


**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!