LlSetRot/ja

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

要約

関数: llSetRot( rotation rot );

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

• rotation rot

仕様

この関数は非物理属性のルートプリムとその全ての子プリムに適用できます。もしオブジェクトが物理属性であれば、そのルートプリムでの効果もありません。

警告

  • この関数は 0.2 秒間、スクリプトを停止します。
  • プリムが装着されている場合、この関数はアバターの回転によって回転を補正します。
  • プリムがルートプリムの場合、ルートプリムの ローカル 回転で補正します。回避策は、ルートプリムの回転で回転を割ることです。
    • 子プリムの回転をルートプリムに相対して設定しようとしているのであれば、ローカル回転をルートプリムの回転で割りましょう。
    • 子プリムの回転をグローバル回転で設定しようとしているのであれば、グローバル回転をルートプリムの回転で 2 回 割る必要があります。
    • 子プリムの回転を設定するには、グローバル回転で設定しようとしているのであっても (この場合、ルートプリムの回転を掛けます)、 llSetLocalRot を使用したほうがよいです。
    • 装着されたオブジェクトのルートプリムの ローカル 回転を取得する簡単な方法は (ルートプリムから申告させる場合を除いて) ありません。
  • 小さく回転させるには、時間拡張によって変更のしきい値が更新される場合があります。6° ルールに制限されることはもうないです。
All Issues ~ Search JIRA for related Bugs

サンプル

このスクリプトをプリムに入れると、プリムが 1° ずつ回転していきます。

rotation rot_xyzq;

default
{
    state_entry()
    {
        vector xyz_angles = <0,1.0,0>; // 1° の回転を定義します
        vector angles_in_radians = xyz_angles*DEG_TO_RAD; // ラジアンに変換
        rot_xyzq = llEuler2Rot(angles_in_radians); // 回転に変換
    }

    touch_start(integer s)
    {
        llSetRot(llGetRot()*rot_xyzq); //回転を実行します...

    }
}

関連項目

関数

•  llGetRot
•  llSetLocalRot
•  llTargetOmega

特記事項

All Issues

~ Search JIRA for related Issues
   llSetRot and llSetPrimitiveParams (using PRIM_ROTATION) incorrectly implemented for child prims.

Signature

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