LlSetRot/ja
< LlSetRot
Jump to navigation
Jump to search
Revision as of 05:00, 12 April 2010 by Mako Nozaki (talk | contribs) (Undo revision 850082 by Mako Nozaki (Talk))
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
警告
- この関数は 0.2 秒間、スクリプトを停止します。
- プリムが装着されている場合、この関数はアバタの回転によって相殺します。
- プリムがルートプリムではない場合、ルートプリムのローカル回転によって相殺されます。回避策はルートプリムの回転で割ることです。
- ルートプリムと相対的に子プリムの回転を設定しようとしている場合、ルートプリムの回転でローカル回転を割ります。
- グローバル回転を子プリムの回転へ設定しようとしている場合、2倍にしたルートプリムの回転でグローバル回転を割る必要があります。
- たとえグローバル回転を子プリムの回転に設定するとしても、子プリムの回転を設定するにはllSetLocalRotを使うとよりうまくいきます。 (その場合、ルートプリムの回転と掛けます。)
- 装着されたオブジェクトの、ルートプリムのローカル回転を取得するのは容易ではありません。(ほかにはルートプリムから取得する方法が存在します)
- 小さく回転するには、変更する時間帯の間隔に応じて、基準点を上げます。6°より下に制限しているように見せることはできません。
サンプル
回転を1°ずつ増加するプリムに、このスクリプトをドロップします。 <lsl> rotation rot_xyzq;
default {
state_entry() { vector xyz_angles = <0,1.0,0>; // This is to define a 1 degee 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...
}
}
</lsl>関連項目
関数
• | llGetRot | |||
• | llSetLocalRot |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。