HI, I’m a non programmer who trying to learn Blueprint.
I need someone to explain how these function works and what does it use for in a very basic way so non programmer like me can understand it. Because UE4 Doc API reference is really poor on explaining each function works specially for non programmer like me. (I can’t even understand “Target is Kismet Math Library” which keep showing in the API reference) and it doesn’t show some example on how to use it.
Make Vector from Axes.
Clamp Vector Size
Break Rotator and Make Rotator
The meaning of “Offset” in function such “Add Actor Local/world Offset”
“Target” on a node is the object you want the function to be called from.
The Math Library is existent throughout every Blueprint.
I think that most nodes are well described.
You should take some time to learn some vector math, it helps.
And even the Node’s titles are selfexplanatory.
Lerp is the shortterm for Linear Interpolate and uses a float from 0 to 1 to get from one value to another value linearly.
Break Something / Make Something splits a structure into its single components. Make recombines them. This is helpful when you want to access only one component of a vector for example.
“Clamp” usually means “limit” a value to a specified range. So the Node Clamp Vector Size is limiting the size of the vector to a min or max. This is useful if you want to limit the range of the value (for example, limit rotation to a max of 90 degrees).
Lerp, as Raildex mentioned, is a linear interpolate between 2 values. Basically its a way to smoothly go from one value to another. Say you want to rotate your character towards another Actor. If you just use the Set Actor Rotation node, the rotation will be instant. However, if you use a Lerp, it will smooth out rotation towards that actor.
Break and Make Rotation, just like Break and Make Vector, etc is a way to create those structures from (usually) Floats. So, say you want to AddImpulse straight Up to your character. You can Make a Vector and add a Float to the Z only and leave X and Y empty. This new vector will plug into the Add Impulse Node and give the node the correct information.
Offset is simply a movement in comparison to a specific location.
Set Actor Location -> Sets the actor’s new location to an absolute value
Add Actor Local Offset -> Sets actor’s new location based on a DELTA location (in reference to its original location).
Thx for the feedback… first of all I need to tell u guys I’m 3D artist, so I might have difficulties to understand Programming. (They said artist tend to think using Right part of the brain, while programmer using left part of the brain, so maybe that’s why I’m having so much difficulties learning Blueprint, because left part of My brain kinda dull :D)
U see the reason why I ask these function is because I’m trying to build Top Down shooter using WASD + Mouse method. And right now I’m trying to figure out how to rotate my pawn to face the input direction. So I decide to take a look at Twinstick Shooter template and try to find out how to rotate the Actor to face the direction input axes. And here is what I found comfusing in the Pawn Event Graph:
You notice that GetMoveForward and GetMoveRight is an Axis Mapping and used as a value to make a vector. As we know that Input Axis value is between -1 to 1 so that’s mean the Make Vector value should be somewhere around X= -1 to 1, Y = -1 to 1, and Z = 0. But then Clamp Vector Size node is used to locked minimum to 0 and Maximum to 1. So I’m guessing that if there is value lower than 0 it will be locked as and treated as 0. So I decide to prove it and put the Vector value output to print string just after the Clamp Vector Size node, and here’s what I got:
Noticed on the left top of the screen is the Vector Value which printed as string right after Clamp Vector Size. I screen capture it just when I press Down so the actor goes and face Down, the X value still -1.0000 so the Clamp Vector Size which is set to Minimum 0 doesn’t work. Now I’m confuse what this Clamp Vector Size really do and why is it used.
I notice that in every node that have multi value on output, if we right click the output there’s a “Split Struct Pin” option which split the value into parts…Let say if its a vector value output, when we right click the output and chose Split Struct Pin, the output will be separated into three value, X, Y and Z so we can use each one or using only part of this output, So why do we need a “Break” node for?
The X value is only one of the three dimensions. The formula to get the vector size is sqrt(x^2+y^2+z^2). So in this case sqrt((-1)^2+0^2+0^2) = sqrt(1+0+0) = sqrt(1) = 1. So the Vector Size in that example is actually 1.
Sometimes things are better arranged with a break node, sometimes with SplitStructPin. Always better having 2 options instead of 1, don’t you agree?
The node does work. Maybe the name could’ve been better chosen. ClampVectorLength would’ve been a better name in my opinion. Anyway, this node clamps the length of the vector, not each of its coordinates. And the length of (-1,0,0) is 1, so the node doesn’t change your vector. The length is defined by sqrt(x²+y²+z²). If your vector would be (-2,0,0) the result would be (-1,0,0).
In this case clamp is used to limit the speed of the pawn when both, MoveForward and MoveRight, keys are pressed simultaneously. The vector in that case would be (1,1,0) what would result in the length sqrt(2)~1.44. So the pawn would move 1.44 times as fast as it would in case only MoveForward OR (exclusive OR) MoveRight would be pressed.
Btw. Like I said I’m getting difficulties learning blueprint, most of the time is because I don’t know what function node to use in order to achieve something or I don’t know how each function works.
So if you guys know some good sites to help people like me to learn Blueprint easier I’ll be grateful.
There’s so much tutorial in youtube etc, but mostly they doesn’t explain how it works or why, they just drop the function and connect the wire, use this, use that and then… done !. So in the end I feel like I’m just copy paste the Event Graph without knowing what I just did, or how it works.
Like Raildex_ said “And even the Node’s titles are selfexplanatory”. Maybe for people who have basic programming, but not for people absolutely have no knowledge of programing. For people like us, it need to be explain how the function works… just like “Clamp Vector Size” node…it self explanatory and yet I get it all wrong.
Anyway… I’m an 3D artist working in some Mobile Game studio (sadly for me… we use Unity here in my office -_-) So I know much for making a good 3d model for games, feel free to ask…