LlSetRot

From Second Life Wiki

Jump to: navigation, search

Template:Needs Translation/LSL/de Template:Needs Translation/LSL/es Template:Needs Translation/LSL/el Template:Needs Translation/LSL/he Template:Needs Translation/LSL/it Template:Needs Translation/LSL/ko Template:Needs Translation/LSL/nl Template:Needs Translation/LSL/hu Template:Needs Translation/LSL/no Template:Needs Translation/LSL/da Template:Needs Translation/LSL/sv Template:Needs Translation/LSL/tr Template:Needs Translation/LSL/pl Template:Needs Translation/LSL/pt Template:Needs Translation/LSL/ru Template:Needs Translation/LSL/uk Template:Needs Translation/LSL/zh-Hans Template:Needs Translation/LSL/zh-Hant

Contents

Summary

Buggy
Function: llSetRot( rotation rot );
61 Function ID
0.2 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 root 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).
  • For small rotation changes, there is an update threshold depending on the time duration, between changes. It does not appear to be limited to the 6deg rule any longer.

Important Issues

~ Search JIRA for related Bugs
Bug - A problem which impairs or prevents the functions of the product. Open - The issue is open and ready for the assignee to start work on it.    llSetRot and llSetPrimitiveParams (using PRIM_ROTATION) incorrectly implemented for child prims.

Examples

Drop this script in a prim to have it rotate in 1 degree increments

 
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)
    {
        llSetRot(llGetRot()*rot_xyzq); //Do the Rotation...
 
    }
}
 

See Also

Functions

•  llGetRot
•  llSetLocalRot
•  llTargetOmega

Deep Notes

Issues

~ Search JIRA for related Issues
Bug - A problem which impairs or prevents the functions of the product. Open - The issue is open and ready for the assignee to start work on it.    llSetRot and llSetPrimitiveParams (using PRIM_ROTATION) incorrectly implemented for child prims.
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.
Personal tools
In other languages