llSetLocalRot

From Second Life Wiki
Revision as of 13:26, 22 January 2015 by Lady Sumoku (talk | contribs) (Replaced old <LSL> block with <source lang="lsl2">)
Jump to navigation Jump to search

Summary

Function: llSetLocalRot( rotation rot );
0.2 Forced Delay
10.0 Energy

Sets the rotation of a child prim relative to the root prim

• rotation rot

Caveats

  • This function causes the script to sleep for 0.2 seconds.

Examples

Drop this script in a prim* to rotate it in 1 degree increments. *This prim must be attached as child of a root prim.

rotation rot_xyzq;
 
default
{
    state_entry()
    {
        vector xyz_angles = <0,1.0,0>; // This is to define a 1 degree change
        vector angles_in_radians = xyz_angles*DEG_TO_RAD; // Change to Radians
        rot_xyzq = llEuler2Rot(angles_in_radians); // Change to a Rotation
    }
 
    touch_start(integer s)
    {
        llSetLocalRot(llGetLocalRot()*rot_xyzq); //Do the Rotation...
 
    }
}

Useful Snippets

//-- this is an equivalent call from any prim in the same link set
llSetLinkPrimitiveParamsFast( target_prim, [PRIM_ROT_LOCAL, rot] );
//-- where "target_prim" is the link number of the prim you want to set the local rotation of

Deep Notes

Signature

function void llSetLocalRot( rotation rot );

Haiku

Carousel horses
Race, ever facing forward.
Turn without turning.