Difference between revisions of "LlVolumeDetect/ja"

From Second Life Wiki
Jump to: navigation, search
 
Line 36: Line 36:
 
*アバターが VolumeDetect オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。
 
*アバターが VolumeDetect オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。
 
|constants
 
|constants
|examples=<lsl>default
+
|examples=<source lang="lsl2">default
 
{
 
{
 
state_entry()
 
state_entry()
Line 46: Line 46:
 
llSay(0, "Detected!"); // 何かがプリムを貫通したら通知
 
llSay(0, "Detected!"); // 何かがプリムを貫通したら通知
 
}
 
}
}</lsl>
+
}</source>
 
|helpers
 
|helpers
 
|also_functions=
 
|also_functions=

Latest revision as of 05:10, 25 February 2016

要約

関数: llVolumeDetect( integer detect );

detectTRUE に設定すると VolumeDetect が有効になり、物理オブジェクトとアバターは、このオブジェクトを通過できるようになります。これは、ファントムとほぼ同じですが、 VolumeDetect オブジェクトは、物理オブジェクトまたはアバターとの衝突で collision_startcollision_end イベントを発生させるという点で、ファントムとは異なります。

• integer detect TRUE ならば有効 、 FALSE ならば無効

仕様

タイプによってキューに入るイベント
VolumeDetect ファントム
サポートされる
イベント
collision_start

collision_end
land_collision_start
land_collision
land_collision_end

違い

ファントムと VolumeDetect の衝突の取り扱いに、違いが 2 つあります。具体的にはサポートされるイベントと地面の取り扱い方です。

VolumeDetect
  • 物理オブジェクトの場合、地面を突き抜け、世界から飛び出す危険があります。
  • collision イベントは発生しません。
ファントム
  • 物理オブジェクトの場合、地面に衝突しますが突き抜けず (通常の物理オブジェクトの挙動) 、land collision イベントがキューに入ります。

警告

  • VolumeDetect が設定されたオブジェクトの 衝突系 イベントでは llDetectedLinkNumber 関数が 0 を返します (SVC-2996)。
  • アタッチメントでは有効にできません[1]
  • ルートプリムにだけ適用できます (オブジェクト全体が VolumeDetect になります) 。
  • 物理オブジェクトとアバターのみ検出します。
  • ループで回して llSetPos() を呼び出しながら移動させると、 衝突系イベント が発生しなくなります。
  • アバターが VolumeDetect オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。
All Issues ~ Search JIRA for related Bugs

サンプル

default
{
	state_entry()
	{
		llVolumeDetect(TRUE); // llVolumeDetect を開始
	}
	collision_start(integer total_number)
	{
		llSay(0, "Detected!"); // 何かがプリムを貫通したら通知
	}
}

関連項目

イベント

•  collision_start
•  collision
•  collision_end

関数

•  llPassCollisions

特記事項

All Issues

~ Search JIRA for related Issues
   llVolumeDetect(TRUE) を実行すると llDetectedLinkNumber 関数が 0 を返すようになります。

脚注

  1. ^ アバターの Bounding Box にアタッチメントが含まれていないため、意味がありません

Signature

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