LlNavigateTo/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: llNavigateTo( vector pos, list options );

オブジェクトに対して、リージョンまたは隣接するリージョンの特定の位置に移動するよう指示します。

• vector pos position in region coordinates キャラクターがナビゲートする位置。
• list options 使用されるパスファインディングのタイプを制御するためのパラメータのリスト

隣接するリージョンには、位置ベクトルを近くのリージョンに延長することで到達できます。

オプション パラメータ デフォルト 説明
FORCE_DIRECT_PATH 1 integer boolean ] FALSE ] キャラクターをposに直線的にナビゲートさせます。TRUEまたはFALSEに設定できます。

警告

  • 関数がビューアエラーで失敗する可能性があるため、まず最初にllCreateCharacterを使用する必要があります。
  • 任意のベクトルに指定された垂直位置は、要求された表面の実際の高さにできるだけ近い値を選択する必要があります。提供された垂直位置と実際の地形やオブジェクトの高さの大きな差異は、動作の失敗につながります。
  • 以下の例のようにエージェントやオブジェクトを追跡したい場合、llPursue/jaを使用する方が良くて、シミュレータのリソースをより効率的に使用できます。

サンプル

vector last_touched_pos;
key last_touched_key;

default
{
    state_entry()
    {
        llCreateCharacter([CHARACTER_DESIRED_SPEED, 50.0]);
    }

    touch_start(integer total_number)
    {
        last_touched_key = llDetectedKey(0);
        last_touched_pos = llList2Vector(llGetObjectDetails(last_touched_key, [OBJECT_POS]), 0);
        llNavigateTo(last_touched_pos, []);
        llSetTimerEvent(0.2);
    }

    timer()
    {
        vector last_touched_pos_now = llList2Vector(llGetObjectDetails(last_touched_key, [OBJECT_POS]), 0);
        if ( llVecDist(last_touched_pos_now, last_touched_pos) > 1 )
        {
            last_touched_pos = last_touched_pos_now;
            llNavigateTo(last_touched_pos, []);
        }
    }
}

注意点

  • FORCE_DIRECT_PATHは、ナビメッシュを使用しないため、どのような理由であれ、航行可能なゾーンから何らかの方法で転落したキャラクターを救出するために使用できます。(検証が必要です。)
  • 位置ベクトルは、拡張範囲のリージョン座標を使用して現在のリージョンの外に設定できます。たとえば、現在のリージョンの東にあるリージョンのSEコーナーに移動するには、llNavigateTo(<0.0, 512.0, 0.0>, []);とすることができます。

特記事項

経緯

Date of Release 31/07/2012

Search JIRA for related Issues

Signature

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