LlTargetOmega: Difference between revisions

From Second Life Wiki
Jump to navigation Jump to search
Strife Onizuka (talk | contribs)
No edit summary
Strife Onizuka (talk | contribs)
No edit summary
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=If the object is not physical then the effect is entirely client side.<br/>
|func_footnote=
If the object is physical then the physical representation is updated regularly.
*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'''.
|func_desc=Rotates the object around '''axis''' at '''spinrate''' * {{LSLG|llVecMag}}('''axis''') in radians per second with strength '''gain'''.
|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,
|examples=<pre>//rotates the x axis once per second,

Revision as of 11:56, 21 February 2007

Summary

Function: llTargetOmega( vector axis, float spinrate, float gain );
0.0 Forced Delay
10.0 Energy

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

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

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

Signature

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