Difference between revisions of "LlVolumeDetect/ja"

From Second Life Wiki
Jump to: navigation, search
m (remove extra new-line in sample code/change word '探知' to '検出')
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Issues/SVC-2996/ja}}{{LSL_Function/boolean/ja|detect}}
 
{{LSL_Function/ja
 
{{LSL_Function/ja
 
|func_id=248|func_sleep=0.0|func_energy=10.0
 
|func_id=248|func_sleep=0.0|func_energy=10.0
 
|func=llVolumeDetect|p1_type=integer|p1_name=detect
 
|func=llVolumeDetect|p1_type=integer|p1_name=detect
 
|func_footnote
 
|func_footnote
|func_desc='''detect'''を{{LSLG/ja|TRUE}}に設定するとVolumeDetectが有効になり、物理オブジェクトとアバターは、このオブジェクトを通過できるようになります。これは、ファントムとほぼ同じですが、VolumeDetectオブジェクトは、物理オブジェクトまたはアバターとの衝突で{{LSLG/ja|collision_start}}と{{LSLG/ja|collision_end}}イベントを発生させるという点で、ファントムとは異なります。
+
|func_desc='''detect''' を {{LSLG/ja|TRUE}} に設定すると VolumeDetect が有効になり、物理オブジェクトとアバターは、このオブジェクトを通過できるようになります。これは、ファントムとほぼ同じですが、 VolumeDetect オブジェクトは、物理オブジェクトまたはアバターとの衝突で {{LSLG/ja|collision_start}} と {{LSLG/ja|collision_end}} イベントを発生させるという点で、ファントムとは異なります。
 
|return_text
 
|return_text
|spec
+
|spec=
 +
{{{!}} {{Prettytable|style=float:left;}}
 +
{{!}}+ タイプによってキューに入るイベント
 +
{{!}}-
 +
!
 +
! {{Hl2}} {{!}} VolumeDetect
 +
! {{Hl2}} {{!}} ファントム
 +
{{!}}- align="center"
 +
! {{Hl2}} {{!}} サポートされる<br/>イベント
 +
{{!!}} {{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}}
 +
{{!}}- align="center"
 +
{{!}}}
 +
 
 +
====違い====
 +
ファントムと VolumeDetect の衝突の取り扱いに、違いが 2 つあります。具体的にはサポートされるイベントと地面の取り扱い方です。
 +
<div style="clear:left;">
 +
======VolumeDetect======
 +
*物理オブジェクトの場合、地面を突き抜け、世界から飛び出す危険があります。
 +
*{{LSLG/ja|collision}}  イベントは発生しません。
 +
======ファントム======
 +
*物理オブジェクトの場合、地面に衝突しますが突き抜けず (通常の物理オブジェクトの挙動) 、land collision イベントがキューに入ります。
 +
</div>
 
|caveats=
 
|caveats=
*VolumeDetectオブジェクトはファントムと異なり、地面を突き抜けて落下します。
+
*アタッチメントでは有効にできません{{Footnote|アバターの Bounding Box にアタッチメントが含まれていないため、意味がありません}}。
*アタッチメント内では利用できません。
+
*ルートプリムにだけ適用できます (オブジェクト全体が VolumeDetect になります) 。
 
*物理オブジェクトとアバターのみ検出します。
 
*物理オブジェクトとアバターのみ検出します。
*ルートプリムでのみ適用できます。
+
*ループで回して {{LSLG/ja|llSetPos}}() を呼び出しながら移動させると、 {{LSLGC/ja|Collision|衝突系イベント}} が発生しなくなります。
 +
*アバターが VolumeDetect オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。
 
|constants
 
|constants
|examples=<lsl>default
+
|examples=<source lang="lsl2">default
 
{
 
{
 
state_entry()
 
state_entry()
 
{
 
{
llVolumeDetect(TRUE); // llVolumeDetectを開始
+
llVolumeDetect(TRUE); // llVolumeDetect を開始
 
}
 
}
collision(integer total_number)
+
collision_start(integer total_number)
 
{
 
{
 
llSay(0, "Detected!"); // 何かがプリムを貫通したら通知
 
llSay(0, "Detected!"); // 何かがプリムを貫通したら通知
 
}
 
}
}</lsl>
+
}</source>
 
|helpers
 
|helpers
 
|also_functions=
 
|also_functions=
{{LSL DefineRow||[[llPassCollisions/ja|llPassCollisions]]|}}
+
{{LSL DefineRow||{{LSLG/ja|llPassCollisions}}|}}
 
|also_events=
 
|also_events=
{{LSL DefineRow||[[collision_start/ja|collision_start]]|}}
+
{{LSL DefineRow||{{LSLG/ja|collision_start}}|}}
{{LSL DefineRow||[[collision/ja|collision]]|}}
+
{{LSL DefineRow||{{LSLG/ja|collision}}|}}
{{LSL DefineRow||[[collision_end/ja|collision_end]]|}}
+
{{LSL DefineRow||{{LSLG/ja|collision_end}}|}}
 
|also_tests
 
|also_tests
 
|also_articles
 
|also_articles
 
|notes
 
|notes
|permission
 
|negative_index
 
 
|sort=VolumeDetect
 
|sort=VolumeDetect
 
|cat1=Collision
 
|cat1=Collision
 
|cat2=Physics
 
|cat2=Physics
 
|cat3=Object
 
|cat3=Object
|cat4
+
|cat4=Phantom
 
}}
 
}}

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