Difference between revisions of "LlSetRot"

From Second Life Wiki
Jump to navigation Jump to search
(explained llSetRot child prim bug)
Line 5: Line 5:
|sort=SetRot
|sort=SetRot
|caveats=*If the prim is attached, then this function offsets the rotation by the avatars rotation.
|caveats=*If the prim is attached, then this function offsets the rotation by the avatars rotation.
*If the prim is not the root prim it is offset by the roots [[Viewer coordinate frames#Local|local]] rotation. This is a bug. The work-around is to divide the rotation by the root rotation.  
*If the prim is not the root prim it is offset by the roots [[Viewer coordinate frames#Local|local]] rotation. The work-around is to divide the rotation by the root rotation.  
**If you are trying to set the rotation of a child prim relative to the root prim then divide the local rotation by the root rotation.  
**If you are trying to set the rotation of a child prim relative to the root prim then divide the local rotation by the root rotation.  
**If you are trying to set the rotation of a child prim to a global rotation then you need to divide the global rotation by the rot rotation '''twice'''.
**If you are trying to set the rotation of a child prim to a global rotation then you need to divide the global rotation by the rot rotation '''twice'''.

Revision as of 07:19, 5 June 2007

Summary

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

Sets the rotation of the prim to rot.

• rotation rot

Caveats

  • This function causes the script to sleep for 0.2 seconds.
  • If the prim is attached, then this function offsets the rotation by the avatars rotation.
  • If the prim is not the root prim it is offset by the roots local rotation. The work-around is to divide the rotation by the root rotation.
    • If you are trying to set the rotation of a child prim relative to the root prim then divide the local rotation by the root rotation.
    • If you are trying to set the rotation of a child prim to a global rotation then you need to divide the global rotation by the rot rotation twice.
    • It is better to use llSetLocalRot to set the rotation of child prims, even if you are setting it to a global rotation (just multiply by the root rotation in that case).
    • There is no easy way to get the roots local rotation of an attached object (other then being told by the root).

Examples

See Also

Functions

•  llGetRot
•  llSetLocalRot

Deep Notes

Signature

function void llSetRot( rotation rot );