Difference between revisions of "LlLookAt/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL Function/damping/ja|damping}}{{LSL_Function/ja
{{Issues/SVC-1903}}{{LSL Function/damping/ja|damping}}{{LSL Function/strength/ja|strength}}{{LSL_Function/ja
|func_id=105|func_sleep=0.0|func_energy=10.0
|func_id=105|func_sleep=0.0|func_energy=10.0
|func=llLookAt|p1_type=vector|p1_name=target|p2_type=float|p2_name=strength|p3_type=float|p3_name=damping
|func=llLookAt|p1_type=vector|p1_name=target|p2_type=float|p2_name=strength|p3_type=float|p3_name=damping
|func_footnote=同じやり方で位置を変えるには{{LSLG/ja|llMoveToTarget}}を使用します。
|func_footnote=同じように位置を変える場合は、 {{LSLG/ja|llMoveToTarget}} を使用してください。
|func_desc=オブジェクトの''''''軸(zの正)を、'''target'''の方向に向ける要因です。
|func_desc=オブジェクトの '''up''' 軸 (z 軸正方向) を、 '''forward''' 軸 (x 軸正方向) を水平に保ったまま、 '''target''' に向けさせます。
{{LSLG/ja|llStopLookAt}} が呼ばれるまで、 '''target''' を追跡し続けます。
|return_text
|spec=オブジェクトが物理ではない場合、この設定は力が 0 より大きくなるはず、ということ以外に何も効果をもたないようです。物理オブジェクトにおいては、強度は粘度のようなものであり、回転力ではないようなので、弱ければ弱いほど回転が速くなります。減衰値はどの程度素早く回転を減衰するかをコントロールします。強度の割に低い値を指定するとそれは飛び跳ねるようになり、しばしば目標地点を通り越したりします。高い値を設定するとゆっくりした動作になります。強度と減衰値はオブジェクトの質量に関係ないようです。


{{LSLG/ja|llStopLookAt}}が呼ばれるまで、'''target'''を向き続けます。
|caveats=*スクリプトが入っているオブジェクトが対象を指して終わる保証はありません。オブジェクトの形状、強度と減衰力によって、最終地点に到達する前に減衰力が回転を止めてしまったら、他の方向を指す違う回転で収束してしまうかもしれません。
*プリムがルートでない場合、 '''target''' はルートプリムの回転に対する補正を行う必要があります (下の例を見てください) 。
*オブジェクトがアタッチメントの場合、'''target''' は装着者の回転に対する補正を行う必要があります。
*スクリプトが入っているオブジェクトが物理オブジェクトで非対称である場合、反跳効果を引き起こして、オブジェクトが元々の位置から離れていってしまうと同時に、最終的に収束する回転は正確でないものになるでしょう。
 
|constants
|examples=
<source lang="lsl2">//オブジェクトを一番近くのアバターに向かせます。
default
{
    state_entry()
    {
        llSensorRepeat("", "", AGENT, 20.0, PI, 0.2);
    }


オブジェクトが物理ではない場合、設定はフォースが0より上になるにちがいない場合を除いて、幾つかの効果を持つようには見えません。物理オブジェクトでは、力は粘土のあるような何かになっているように見えますが、回転する力ではなく、それゆえ素早く回転を起こすのは劣っています。減衰値はなんとも素早く回転を湿っぽく操作します。低値は力に弾力性を持たせるのに比例して、しばしばターゲットを打ち上げ、高い値にゆっくりとなります。強度値と減衰値はオブジェクトの質量と無関係に持っているように見えます。
    sensor(integer total_number)
    {
        llLookAt( llDetectedPos(0) + <0.0, 0.0, 1.0>, 3.0, 1.0 );
    }
}</source>


|return_text
<source lang="lsl2">
|spec
// 上と同じですが、子プリムの中やアタッチメントの中で使用するためのものです。
|caveats=これは物理オブジェクトがターゲットに向かって打ち上げるのを保障するものではありません。オブジェクトの形状次第で、強度値と減衰地は、最終位置に到着される前に減衰が回転を止める場合、異なる方向の異なる回転方向に沈殿するでしょう。
// 子プリムやアタッチメントを一番近くのアバターに向かせます。


オブジェクトが物理で非対称な場合、オブジェクトは精度の低い最終回転を決めるのと同じように、根源的状態から流れるように打ちあがる、反跳効果を引き起こすでしょう。
default
|constants
{
|examples
    state_entry()
    {
        llSensorRepeat("", "", AGENT, 20.0, PI, 0.2);
    }
    sensor(integer total_number)
    {
        vector p = llGetPos();
        llLookAt(p + (llDetectedPos(0) + <0.0, 0.0, 1.0> - p) / llGetRootRotation(), 3.0, 1.0);
    }
}
</source>
|helpers
|helpers
|also_functions=
|also_functions=
*{{LSLG/ja|llRotLookAt}}
*{{LSLG/ja|llRotLookAt}}
*{{LSLG/ja|llStopLookAt}}
*{{LSLG/ja|llStopLookAt}}
|also_events
|also_events
|also_tests
|also_tests
Line 28: Line 60:
|cat1=Physics
|cat1=Physics
|cat2=Target
|cat2=Target
|cat3
|cat3=Rotation
|cat4
|cat4
}}
}}

Latest revision as of 12:41, 25 February 2016

要約

関数: llLookAt( vector target, float strength, float damping );

オブジェクトの up 軸 (z 軸正方向) を、 forward 軸 (x 軸正方向) を水平に保ったまま、 target に向けさせます。 llStopLookAt が呼ばれるまで、 target を追跡し続けます。

• vector target
• float strength
• float damping 臨界減衰までにかける秒数

同じように位置を変える場合は、 llMoveToTarget を使用してください。

仕様

オブジェクトが物理ではない場合、この設定は力が 0 より大きくなるはず、ということ以外に何も効果をもたないようです。物理オブジェクトにおいては、強度は粘度のようなものであり、回転力ではないようなので、弱ければ弱いほど回転が速くなります。減衰値はどの程度素早く回転を減衰するかをコントロールします。強度の割に低い値を指定するとそれは飛び跳ねるようになり、しばしば目標地点を通り越したりします。高い値を設定するとゆっくりした動作になります。強度と減衰値はオブジェクトの質量に関係ないようです。

警告

  • スクリプトが入っているオブジェクトが対象を指して終わる保証はありません。オブジェクトの形状、強度と減衰力によって、最終地点に到達する前に減衰力が回転を止めてしまったら、他の方向を指す違う回転で収束してしまうかもしれません。
  • プリムがルートでない場合、 target はルートプリムの回転に対する補正を行う必要があります (下の例を見てください) 。
  • オブジェクトがアタッチメントの場合、target は装着者の回転に対する補正を行う必要があります。
  • スクリプトが入っているオブジェクトが物理オブジェクトで非対称である場合、反跳効果を引き起こして、オブジェクトが元々の位置から離れていってしまうと同時に、最終的に収束する回転は正確でないものになるでしょう。

サンプル

//オブジェクトを一番近くのアバターに向かせます。
default
{
    state_entry()
    {
        llSensorRepeat("", "", AGENT, 20.0, PI, 0.2);
    }

    sensor(integer total_number)
    {
        llLookAt( llDetectedPos(0) + <0.0, 0.0, 1.0>, 3.0, 1.0 );
    }
}
// 上と同じですが、子プリムの中やアタッチメントの中で使用するためのものです。
// 子プリムやアタッチメントを一番近くのアバターに向かせます。

default
{
    state_entry()
    {
        llSensorRepeat("", "", AGENT, 20.0, PI, 0.2);
    }
 
    sensor(integer total_number)
    {
        vector p = llGetPos();
        llLookAt(p + (llDetectedPos(0) + <0.0, 0.0, 1.0> - p) / llGetRootRotation(), 3.0, 1.0);
    }
}

関連項目

特記事項

All Issues

~ Search JIRA for related Issues
   llRotLookAt & llLookAt do not update the object's bounding box

Signature

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