LlSetRot/ja

From Second Life Wiki
< LlSetRot
Revision as of 05:00, 12 April 2010 by Mako Nozaki (talk | contribs) (Undo revision 850082 by Mako Nozaki (Talk))
Jump to navigation Jump to search

要約

関数: llSetRot( rotation rot );

プリムの回転にrotを設定します。

• rotation rot

警告

  • この関数は 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

特記事項

Search JIRA for related Issues

Signature

function void llSetRot( rotation rot );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。