|LSL Portal||Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials|
|LSL Feature Request|
|The described function does not exist. This article is a feature request.|
Rotates the object around axis passing through offset at spinrate * llVecMag(axis) in radians per second with strength gain.
|• vector||axis||–||arbitrary axis to rotate the object around|
|• float||spinrate||–||rate of rotation in radians per second|
|• float||gain||–||needs to be non-zero|
|• vector||offset||–||offset from the center of the prim translates the axis|
- If the object is not physical then the effect is entirely client side.
- If the object is physical then the physical representation is updated regularly.
TODO: Not really sure about this - I suppose that the offset could be relative to various coordinate systems.
- If the script is attached to the root prim, the entire object rotates around the region axis
- If the object is attached then it rotates around the attachment axis
- If the script is attached to a child prim, the prim rotates around the local axis
- A Child prim can rotate around its own axis while the entire object rotates around another axis.
<lsl>//rotates the x axis once per second, // rotates the y axis 3 times per second, // rotates the z axis once every two seconds. // combined the rate is about 3.20156 revolutions per secondllTargetOmega(<1.0,3.0,0.5>,TWO_PI,1.0, <1.0, 2.0, 3.0>);</lsl>
Use llVecNorm on axis so that spinrate actually represents the rate of rotation.
//function void llTargetOffsetOmega( vector axis, float spinrate, float gain, vector offset );