LlSensor/ja

From Second Life Wiki
Jump to: navigation, search

要約

関数: llSensor( string name, key id, integer type, float range, float arc );

nameidtype を、 range メートル以内の前方ベクトル arc ラジアンでスキャンを 1 回行います。

• string name オブジェクトまたはアバターの名前
• key id 同じ 地域 にある アバター または オブジェクトUUID
• integer type マスク値 (AGENTACTIVEPASSIVESCRIPTED )
• float range 0.0 ~ 96.0 m
• float arc プリムのローカル X 軸と検出対象とするオブジェクトの間の最大角度。 0.0 から PI の範囲

name または id が空の場合、空となっている制約は無視されます。
id がキーとして正しくないか NULL_KEY の場合は、空として扱われます。

type マスクフラグ 説明 (llDetectedType()) 説明 (llSensor() と llSensorRepeat() のマスク)
AGENT 0x1 エージェント 廃止: AGENT_BY_LEGACY_NAME を使ってください。
AGENT_BY_LEGACY_NAME 0x1 エージェント Legacy Name(レガシー名)でエージェントを検索します。
AGENT_BY_USERNAME 0x10 エージェント Username(ユーザ名)でエージェントを検索します。
ACTIVE 0x2 物理タスク(物理オブジェクトとエージェント) 移動している物理オブジェクト、または動作中のスクリプトが入っているオブジェクトを検索します。つまり、現在 SecondLife サーバのリソースを消費しているものを検索します。
PASSIVE 0x4 非物理オブジェクト 移動していない物理オブジェクト、または動作中でないスクリプトが入っている非物理オブジェクト、またはスクリプトの入っていないオブジェクトを検索します。つまり、現在 SecondLife サーバのリソースを消費していないものを検索します。
SCRIPTED 0x8 動作中のスクリプトが入っているオブジェクト 動作中のスクリプトが入っているオブジェクトを検索します。つまり、現在 SIM に何かしているものを検索します。
llDetectedType() スクリプトあり スクリプトなし
物理 10 (ACTIVE|SCRIPTED) 2 (ACTIVE)
非物理 12 (PASSIVE|SCRIPTED) 4 (PASSIVE)
Float 定数
PI_BY_TWO 半球スキャン
PI 球形スキャン

警告

  • オブジェクトは自分自身を検出しません。また、アタッチメントは装着者を検出しません (HUD アタッチメントも含みます) 。
  • オブジェクトが検出されるには、ルートプリムの中心 (llGetRootPosition で返ってくるものと同じ位置) がセンサービームの範囲内になければなりません。
  • エージェントが検出されるには、 pelvis(骨盤) の位置がセンサービームの範囲内になければなりません (アバターに装着したスクリプトで llGetRootPosition が返すものと同じ位置) 。この位置は Advanced > Character > Display Agent Target がオンになっているときに、赤い照準点で示されます。
    • エージェントがオブジェクトに座っている時、座っているオブジェクトのルートプリムが、エージェントの第二のセンサーターゲットになります (しかし、アバターがセンサー弧の外にいる場合は対象外です。SVC-5145 を参照) 。
  • アタッチメントの中のセンサーはアバターの向いている方向を前方ベクトルとして使用します。マウスルックでは、アバターが見ている方向、マウスルックでない場合は、アバターが向いている方向ということになります。アバターの頭が向いている方向、アバターがアニメーションで向いている方向は入りません。アバターが前に歩く時に移動する方向となります。この場合、オブジェクトがどこに装着されていても関係ありません。
  • type がゼロの場合、センサーはエラーを出さずに失敗し、 sensorno_sensor も発生しません。
  • 各回 16 オブジェクトのみが検出されます。
All Issues ~ Search JIRA for related Bugs

サンプル

このセンサーは X 軸について 45° 円錐スキャンを行います。 (PI/2 または PI_BY_TWO で、半球スキャンします。 PI で球形スキャンです。)

llSensor( "Gigs Taggart", NULL_KEY, AGENT, 96.0, PI/4 );

このセンサーは、センサーから 15 m 以内の全てのプリムとエージェントを指定した名前で検出します。 (AGENT 、PASSIVE 、ACTIVE は両立して動作します。 SCRIPTED は両立せず、(アバターのような) スクリプトの入っていない対象を検出セットから除外します。)

llSensor( "", NULL_KEY, ( AGENT | PASSIVE | ACTIVE ), 15.0, PI );

関連項目

イベント

•  sensor センサーが何かを探知したときに作動されます
•  no_sensor センサーが何も探知しない時に作動されます

関数

•  llSensorRepeat タイマーでセンサーが走ります
•  llSensorRemove llSensorRepeat のタイマーを停止します

記事

•  Object Type

特記事項

Search JIRA for related Issues

Signature

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