LlGetClosestNavPoint/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: list llGetClosestNavPoint( vector point, list options );

pointに最も近いナビメッシュ上のポイントを取得するために使用されます。
pointに最も近いナビメッシュ上のポイントを含む単一のベクトル、または空のリスト。を list で返します。

• vector point A point in region-local space
• list options GCNP_* およびその他のフラグとそれに対するパラメータ。optionsテーブルを参照してください。

オプションが明示的に設定されていない場合、そのオプションのデフォルト値が使用されます。

オプション V パラメータ デフォルト 説明
GCNP_RADIUS ] 0 float distance ] 20.0 ] ナビゲーションポイントを検索する範囲を制限します。
GCNP_STATIC ] 1 integer use_static_mesh ] FALSE ] テストが静的または動的なナビメッシュを使用するかどうかを指定します。静的な場合、すべての動的な障害物は無視されます。
CHARACTER_TYPE ] 6 integer type ] CHARACTER_TYPE_NONE ] 指定されたキャラクタータイプのために0%歩行可能でないナビメッシュフェイスを排除して、ナビゲーションポイントをフィルタリングします。デフォルトのCHARACTER_TYPE_NONEの場合、すべてのナビメッシュフェイスが含まれます。

警告

  • 現在の位置から返されたポイントまでの経路が存在することを保証するものではありません。
All Issues ~ Search JIRA for related Bugs

サンプル

create_character()
{
//  Clear any previous character behaviors
    llDeleteCharacter();

//  default speed is 20
    llCreateCharacter([CHARACTER_DESIRED_SPEED, 10.0]);
    llWanderWithin(llGetPos(), <64.0, 64.0, 2.0>, []);
}

default
{
    on_rez(integer start_param)
    {
        llResetScript();
    }

    state_entry()
    {
        create_character();
    }
 
    touch_start(integer num_detected)
    {
        vector currentPos = llGetPos();
        list points = llGetClosestNavPoint(currentPos, [GCNP_RADIUS, 10.0] );

        if (!llGetListLength(points))
            return;

        llSay(0, "current position " + (string)currentPos
            + " and closest nav point " + (string)llList2Vector(points, 0) );
    }
}

注意点

Using the method incurs a one frame script sleep and the call can be extremely expensive. It is intended to be used in response to a path_update message indicating an inability to reach a requested destination (e.g., because the character or the destination is off the mesh).

特記事項

経緯

Date of Release 31/07/2012

Search JIRA for related Issues

Signature

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