- Joined
- Feb 23, 2008
- Messages
- 587
How To Change A Units Yaw And Pitch With Code
What Is Yaw And Pitch?
Functions
ChangeOrientation(target,yaw,pitch)
Takes the desired target(unit), yaw, pitch.
It then changes the targets(unit) yaw and pitch Instantly.
ChangePitch(target,pitch)
Takes the desired target(unit), pitch.
It then changes the targets(unit) pitch Instantly.
Notes
This only works when the unit isn't moving.
If a unit, turns upside down at any point it will roll 180 Degrees.
Ground units don't seem to work even if you make them float.
Credits
Arkless
eXirrah
Twinmold20
Grogian
Rover2341
Attached Map
The attached map allows you to change the pitch and yaw by pressing A + D For Yaw, And W + D For Pitch. It was made by Grogain and Edited by Rover2341. It is a GUI Version.
What Is Yaw And Pitch?

Functions
ChangeOrientation(target,yaw,pitch)
Takes the desired target(unit), yaw, pitch.
It then changes the targets(unit) yaw and pitch Instantly.
ChangePitch(target,pitch)
Takes the desired target(unit), pitch.
It then changes the targets(unit) pitch Instantly.
Code:
////////////////////////////////////////////////////
// ChangeOrientation //
////////////////////////////////////////////////////
void ChangeOrientation (unit target, fixed yaw, fixed pitch)
{
// Variable Declarations
fixed forwardX;
fixed forwardY;
fixed forwardZ;
fixed upX;
fixed upY;
fixed upZ;
// Variable Initialization
forwardX = Cos(yaw) * Sin(pitch);
forwardY = Sin(yaw) * Sin(pitch);
forwardZ = Cos(pitch);
upX = 0;
upY = 0;
upZ = 0;
// Implementation
libNtve_gf_SendActorMessageToUnit(target, libNtve_gf_SetRotation(forwardX, forwardY, forwardZ, upX, upY, upZ));
}
////////////////////////////////////////////////////
// ChangePitch //
////////////////////////////////////////////////////
void ChangePitch(unit target, fixed pitch)
{
// Variable Declarations
fixed yaw;
fixed forwardX;
fixed forwardY;
fixed forwardZ;
fixed upX;
fixed upY;
fixed upZ;
// Variable Initialization
yaw = UnitGetFacing(target);
forwardX = Cos(yaw) * Sin(pitch);
forwardY = Sin(yaw) * Sin(pitch);
forwardZ = Cos(pitch);
upX = 0;
upY = 0;
upZ = 0;
// Implementation
libNtve_gf_SendActorMessageToUnit(target, libNtve_gf_SetRotation(forwardX, forwardY, forwardZ, upX, upY, upZ));
}
Notes
This only works when the unit isn't moving.
If a unit, turns upside down at any point it will roll 180 Degrees.
Ground units don't seem to work even if you make them float.
Credits
Arkless
eXirrah
Twinmold20
Grogian
Rover2341
Attached Map
The attached map allows you to change the pitch and yaw by pressing A + D For Yaw, And W + D For Pitch. It was made by Grogain and Edited by Rover2341. It is a GUI Version.
Attachments
Last edited: