It’s actually unthinkable that someone wanting to code a 3D game doesn’t know basic 3D mathematics.
If you ended here from google, Study the math. Not engine specific things.
Math is math.
It won’t change all that much across time.
AS SUCH, any post past the 3rd is rather unnecessary.
Knowing math, means you can write formulas long form in any engine without resorting to pre-made (kismet) functions.
The first thing you should know is the basics of trigonometry: SOHCAHTOA.
Sine, Cosine, and Tangent.
Then you should absolutely know what the Unit Circle is, and why it’s important:
After that, you have Inverse functions:
Once you know that, The C++ (or even U4 specific) stuff is rather simple:
As of now, Jul 2022, According to the documentation, the engine offers this list of functions:
Acos (Degrees) Returns the inverse cos (arccos) of A (result is in Degrees)
Acos (Radians) Returns the inverse cosine (arccos) of A (result is in Radians)
Asin (Degrees) Returns the inverse sin (arcsin) of A (result is in Degrees)
Asin (Radians) Returns the inverse sine (arcsin) of A (result is in Radians)
Atan (Degrees) Returns the inverse tan (atan) (result is in Degrees)
Atan (Radians) Returns the inverse tan (atan) (result is in Radians)
Atan2 (Degrees) Returns the inverse tan (atan2) of A/B (result is in Degrees)
Atan2 (Radians) Returns the inverse tan (atan2) of A/B (result is in Radians)
Cos (Degrees) Returns the cos of A (expects Degrees)
Cos (Radians) Returns the cosine of A (expects Radians)
Degrees To Radians Returns radians value based on the input degrees
Get PI Returns the value of PI
Get TAU Returns the value of TAU (= 2 * PI)
Radians To Degrees Returns degrees value based on the input radians
Sin (Degrees) Returns the sin of A (expects Degrees)
Sin (Radians) Returns the sine of A (expects Radians)
Tan (Degrees) Returns the tan of A (expects Degrees)
Tan (Radians) Returns the tan of A (expects Radians)
.unrealengine.com/4.26/en-US/BlueprintAPI/Math/Trig/
If you know how to calculate an angle via math, and you still have issues applying what you know to a 3D environment, see post #10:
Since post 10 points it out, let’s add this too: