llGetRot
Revision as of 16:28, 26 October 2010 by Void Singer (talk | contribs) ([~caveats, -helper (simplification)] +also-func)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: rotation llGetRot( );62 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a rotation that is the prim's rotation relative to the region's axes.
Caveats
- llGetRot incorrectly reports the avatars rotation when called from the root of an attached object, use llGetLocalRot for root prims, instead
Examples
<lsl> //-- rotates an object to face the nearest cardinal direction (N,E,S,W)
//-- assumes build is aligned to root object facing
default{
state_entry() { llSay( 0, "Rotate me in edit, then touch to make me face the nearest compass point" ); }
touch_start( integer vIntTouches ) { //-- convert our rotation to x/y/z radians vector vRadBase = llRot2Euler( llGetRot() ); //-- round the z-axis to the nearest 90deg (PI_BY_TWO = 90deg in radians) llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) ); }}</lsl>
Notes
- The tooltip in the in-client editor is incorrect, it will work in scripts in objects that are physical.