Difference between revisions of "LlSensor/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 849292 by Mako Nozaki (Talk))
Line 1: Line 1:
{{LSL_Function/object/ja|id|プリムかアバタの|sim=*}}{{LSL_Function/ja
{{LSL_Function/uuid/ja|id|object=*|sim=*}}{{LSL Constants/Sensing/ja|type}}
{{LSL_Function/ja
|func_id=28|func_sleep=0.0|func_energy=10.0
|func_id=28|func_sleep=0.0|func_energy=10.0
|sort=Sensor|func=llSensor
|sort=Sensor|func=llSensor
|p1_type=string|p1_name=name
|func_desc='''name''' と '''id''' の '''type''' を、 '''range''' メートル以内の前方ベクトル '''arc''' ラジアンでスキャンを 1 回行います。
|p2_type=key|p2_name=id
|p1_type=string|p1_name=name|p1_desc=オブジェクトまたはアバターの名前
|p3_type=integer|p3_name=type|p3_desc=型フラグ
|p2_type=key|p2_name=id|p2_desc=
|p4_type=float|p4_name=range|p4_desc
|p3_type=integer|p3_name=type|p3_desc=マスク値 ({{#var:AGENT}} 、{{#var:ACTIVE}} 、{{#var:PASSIVE}} 、{{#var:SCRIPTED}} )|p3_hover=マスク値 (AGENT 、ACTIVE 、PASSIVE 、SCRIPTED)
|p5_type=float|p5_name=arc|p5_desc=プリムのローカルx軸と探知可能なオブジェクトの間の最大角
|p4_type=float|p4_name=range|p4_desc= 0.0 ~ 96.0 m
|func_footnote='''name''''''id'''と(または)'''type'''が空、あるいは0の場合、これらは無効化されます。<br/>'''id'''が無効なキーか[[NULL_KEY/ja|NULL_KEY]]の場合、空として扱われます。
|p5_type=float|p5_name=arc|p5_desc=プリムのローカル X 軸と検出対象とするオブジェクトの間の最大角度。 0.0 から {{#var:PI}} の範囲|p5_hover=プリムのローカル X 軸と検出対象とするオブジェクトの間の最大角度。 0.0 から PI の範囲
|func_desc=前方ベクトルの'''arc'''ラジアンと'''range'''メートルで、'''name'''と'''id'''と'''type'''で一回スキャンを実行します。
|func_footnote='''name''' または '''id''' が空の場合、空となっている制約は無視されます。<br/>'''id''' がキーとして正しくないか {{LSLG/ja|NULL_KEY}} の場合は、空として扱われます。
|return_text
|return_text
|spec
|spec
|caveats
|caveats=
|constants={{LSL Constants Sensor/ja|type|}}
*オブジェクトは自分自身を検出しません。また、アタッチメントは装着者を検出しません (HUD アタッチメントも含みます) 。
*オブジェクトが検出されるには、ルートプリムの中心 ({{LSLG/ja|llGetRootPosition}} で返ってくるものと同じ位置) がセンサービームの範囲内になければなりません。
*エージェントが検出されるには、 plevis(骨盤) の位置がセンサービームの範囲内になければなりません (アバターに装着したスクリプトで llGetRootPosition が返すものと同じ位置) 。この位置は Advanced > Character > Display Agent Target がオンになっているときに、赤い照準点で示されます。
**エージェントがオブジェクトに座っている時、座っているオブジェクトのルートプリムが、エージェントの第二のセンサーターゲットになります (しかし、アバターがセンサー弧の外にいる場合は対象外です。{{Jira|SVC-5145}} を参照) 。
*アタッチメントの中のセンサーはアバターの向いている方向を前方ベクトルとして使用します。マウスルックでは、アバターが見ている方向、マウスルックでない場合は、アバターが向いている方向ということになります。アバターの頭が向いている方向、アバターがアニメーションで向いている方向は入りません。アバターが前に歩く時に移動する方向となります。この場合、オブジェクトがどこに装着されていても関係ありません。
*'''type''' がゼロの場合、センサーはエラーを出さずに失敗し、 {{LSLG/ja|sensor}} も {{LSLG/ja|no_sensor}} も発生しません。
*各回 16 オブジェクトのみが検出されます。
|examples=
|examples=
このセンサーはx軸での45°円錐状にスキャンします。
このセンサーは X 軸について 45° 円錐スキャンを行います。 ({{LSLG/ja|PI}}/2 または {{LSLG/ja|PI_BY_TWO}} で、半球スキャンします。 {{LSLG/ja|PI}} で球形スキャンです。)
<lsl>llSensor( "Gigs Taggart", NULL_KEY, AGENT, 96.0, PI/4 );</lsl>
<lsl>llSensor( "Gigs Taggart", NULL_KEY, AGENT, 96.0, PI/4 );</lsl>
[[PI]]/2 または[[PI_BY_TWO]] は半球状にスキャンします。[[PI]]は球状にスキャンします。
 
このセンサーは、センサーから 15 m 以内の全てのプリムとエージェントを指定した名前で検出します。 (AGENT 、PASSIVE 、ACTIVE は両立して動作します。 SCRIPTED は両立せず、(アバターのような) スクリプトの入っていない対象を検出セットから除外します。)
<lsl>llSensor( "", NULL_KEY, ( AGENT | PASSIVE | ACTIVE ), 15.0, PI );</lsl>
 
<gallery>
File:sensor_pi_by_four.png|arc = PI / 4
File:sensor_pi_by_two.png|arc = PI / 2
File:sensor_pi.png|arc = PI
</gallery>
 
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llSensorRepeat/ja|llSensorRepeat]]|タイマーでセンサーが走ります}}
{{LSL DefineRow||{{LSLG/ja|llSensorRepeat}}|タイマーでセンサーが走ります}}
{{LSL DefineRow||[[llSensorRemove/ja|llSensorRemove]]|llSensorRepeatのタイマーを停止します}}
{{LSL DefineRow||{{LSLG/ja|llSensorRemove}}|llSensorRepeat のタイマーを停止します}}
|also_events=
|also_events=
{{LSL DefineRow||[[sensor/ja|sensor]]|センサーが何かを探知したときに作動されます}}
{{LSL DefineRow||{{LSLG/ja|sensor}}|センサーが何かを探知したときに作動されます}}
{{LSL DefineRow||[[no_sensor/ja|no_sensor]]|センサーが何も探知しない時に作動されます}}
{{LSL DefineRow||{{LSLG/ja|no_sensor}}|センサーが何も探知しない時に作動されます}}
|also_articles
|also_articles
|notes
|notes=
|permission
|permission
|negative_index
|negative_index

Revision as of 20:39, 8 May 2010

要約

関数: 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 で返ってくるものと同じ位置) がセンサービームの範囲内になければなりません。
  • エージェントが検出されるには、 plevis(骨盤) の位置がセンサービームの範囲内になければなりません (アバターに装着したスクリプトで 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 で球形スキャンです。) <lsl>llSensor( "Gigs Taggart", NULL_KEY, AGENT, 96.0, PI/4 );</lsl>

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

<lsl>llSensor( "", NULL_KEY, ( AGENT

関連項目

イベント

•  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の関連した項目が参考になるかもしれません。