Difference between revisions of "LlTargetOmega"

From Second Life Wiki
Jump to navigation Jump to search
Line 7: Line 7:
|p2_type=float|p2_name=spinrate|p2_desc=rate of rotation in radians per second
|p2_type=float|p2_name=spinrate|p2_desc=rate of rotation in radians per second
|p3_type=float|p3_name=gain|p3_desc=needs to be non-zero
|p3_type=float|p3_name=gain|p3_desc=needs to be non-zero
|func_footnote=
|func_footnote
|func_desc=Rotates the object around '''axis''' at '''spinrate''' * {{LSLG|llVecMag}}('''axis''') in radians per second with strength '''gain'''.
|examples=<pre>//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 second
llTargetOmega(<1.0,3.0,0.5>,TWO_PI,1.0);</pre>
|spec=
===Physics===
===Physics===
*If the object is not physical then the effect is entirely client side.
*If the object is not physical then the effect is entirely client side.
Line 16: Line 23:
*If the script is attached to a child prim, the prim rotates around the local '''axis'''
*If the script is attached to a child prim, the prim rotates around the local '''axis'''
**A Child prim can rotate around it's own '''axis''' while the entire object rotates around another '''axis'''.
**A Child prim can rotate around it's own '''axis''' while the entire object rotates around another '''axis'''.
|func_desc=Rotates the object around '''axis''' at '''spinrate''' * {{LSLG|llVecMag}}('''axis''') in radians per second with strength '''gain'''.
|examples=<pre>//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 second
llTargetOmega(<1.0,3.0,0.5>,TWO_PI,1.0);</pre>
|spec
|caveats=*If the object is not physical then the rotation is only a client side effect and avatars and objects may move around the object as if it were not rotating at all.
|caveats=*If the object is not physical then the rotation is only a client side effect and avatars and objects may move around the object as if it were not rotating at all.
|constants
|constants

Revision as of 11:59, 21 February 2007

Summary

Function: llTargetOmega( vector axis, float spinrate, float gain );

Rotates the object around axis 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

Specification

Physics

  • 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.

Link Sets

  • If the script is attached to the root prim, the entire object rotates around the global 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 it's own axis while the entire object rotates around another axis.

Caveats

  • If the object is not physical then the rotation is only a client side effect and avatars and objects may move around the object as if it were not rotating at all.
All Issues ~ Search JIRA for related Bugs

Examples

//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 second
llTargetOmega(<1.0,3.0,0.5>,TWO_PI,1.0);

Notes

Use llVecNorm on axis so that spinrate actually represents the rate of rotation.

Deep Notes

Search JIRA for related Issues

Signature

function void llTargetOmega( vector axis, float spinrate, float gain );