Triggers - How To Change a Units Yaw And Pitch With Code

Tutorial by rover2341

How To Change A Units Yaw And Pitch With Code


What Is Yaw And Pitch?

(Image)


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.


////////////////////////////////////////////////////
// ChangeOrientation  V1.01                       //
////////////////////////////////////////////////////
void ChangeOrientation (unit target, fixed yaw, fixed pitch) 
{    	
    Wait(0.15, c_timeGame);
    // 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 V1.01                               //
////////////////////////////////////////////////////
void ChangePitch(unit target, fixed pitch)
{
    Wait(0.15, c_timeGame);
    // 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.
If the unit was just made you need to wait .15 sec or it wont work.
For some reason after a 1-30 sec amount of time the units go back to normal.

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.
Click here to comment on this tutorial.
Tutorials submitted by users are copyright of the original author. All other content on this site is copyright TheHelper.net.
Copyright is secured automatically upon creation, and does not require registration