From Second Life Wiki
TargetOmega/ja
llTargetOmega
関数: llTargetOmega( vector axis, float spinrate, float gain );
gainの力と、毎秒のラジアンでのspinrate * llVecMag(axis)で、オブジェクト周囲のaxisを回転します。
| • vector
| axis
| –
| オブジェクト周辺の回転する任意の軸
|
|
| • float
| spinrate
| –
| 毎秒のラジアンでの回転率
|
|
| • float
| gain
| –
| 最終回転率の調整同様に、0の場合回転動作を停止します
|
|
仕様
物理
- オブジェクトが物理ではない場合、効果は完全にクライアント側で働きます。
- オブジェクトが物理の場合、物理表現は定期的にアップデートされます。
リンクセット
- スクリプトがルートプリムにアタッチされている場合、全体のオブジェクトはリージョン軸周囲を回転します。
- オブジェクトがアタッチされている場合、アタッチメント軸の周囲を回転します。
- スクリプトが子プリムにアタッチされている場合、プリムはローカル軸周囲を回転します。
- 子プリムは、全体のオブジェクトが別の軸周りを回転している間は、自身の軸周りを回転することができます。
警告
- オブジェクトが物理ではない場合、回転はクライアント側にのみ効果し、本来の動いていない位置で衝突するでしょう。
例
//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);
ノート
- 回転率を実際の回転のレートで描画できるようにするには軸上でllVecNormを使います。
- llTargetOmega(ZERO_VECTOR, 0, 0);のような、回転の振る舞いを停止して除去するには、0を設定します。
- 回転率を0より上にあげた後に0を再設定するのは、性急にllTargetOmega()を呼んで単純に除去するよりも、オブジェクトの全ての回転を停止させやすいです。