Difference between revisions of "LlVolumeDetect/ja"

From Second Life Wiki
Jump to navigation Jump to search
 
(One intermediate revision by one other user not shown)
Line 15: Line 15:
{{!}}- align="center"
{{!}}- align="center"
! {{Hl2}} {{!}} サポートされる<br/>イベント
! {{Hl2}} {{!}} サポートされる<br/>イベント
{{!!}} {{LSLG/ja|collision_start}}<br/>{{LSLG/ja|collision}}<br/>{{LSLG/ja|collision_end}}
{{!!}} {{LSLG/ja|collision_start}}<br/><br/>{{LSLG/ja|collision_end}}
{{!!}} {{LSLG/ja|land_collision_start}}<br/>{{LSLG/ja|land_collision}}<br/>{{LSLG/ja|land_collision_end}}
{{!!}} {{LSLG/ja|land_collision_start}}<br/>{{LSLG/ja|land_collision}}<br/>{{LSLG/ja|land_collision_end}}
{{!}}- align="center"
{{!}}- align="center"
Line 25: Line 25:
======VolumeDetect======
======VolumeDetect======
*物理オブジェクトの場合、地面を突き抜け、世界から飛び出す危険があります。
*物理オブジェクトの場合、地面を突き抜け、世界から飛び出す危険があります。
*{{LSLG/ja|collision}}  イベントは発生しません。
======ファントム======
======ファントム======
*物理オブジェクトの場合、地面に衝突しますが突き抜けず (通常の物理オブジェクトの挙動) 、land collision イベントがキューに入ります。
*物理オブジェクトの場合、地面に衝突しますが突き抜けず (通常の物理オブジェクトの挙動) 、land collision イベントがキューに入ります。
Line 35: Line 36:
*アバターが VolumeDetect オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。
*アバターが VolumeDetect オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。
|constants
|constants
|examples=<lsl>default
|examples=<source lang="lsl2">default
{
{
state_entry()
state_entry()
Line 45: Line 46:
llSay(0, "Detected!"); // 何かがプリムを貫通したら通知
llSay(0, "Detected!"); // 何かがプリムを貫通したら通知
}
}
}</lsl>
}</source>
|helpers
|helpers
|also_functions=
|also_functions=

Latest revision as of 04: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 オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。

サンプル

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