Difference between revisions of "LlVolumeDetect/ja"

From Second Life Wiki
Jump to navigation Jump to search
(New page: {{multi-lang}}{{LSL_Function/ja |func_id=248|func_sleep=0.0|func_energy=10.0 |func=llVolumeDetect|p1_type=integer|p1_name=detect |func_footnote |func_desc='''detect'''が{{LSLG/ja|TRUE}}...)
 
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{multi-lang}}{{LSL_Function/ja
{{Issues/SVC-2996/ja}}{{LSL_Function/boolean/ja|detect}}
{{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}}の場合、オブジェクトはファントムになりますが、他のオブジェクトと重なり始めたときと重なるのが止まった時は{{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=
|caveats=*ルートプリムで指定すべきです。
{{{!}} {{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=
*アタッチメントでは有効にできません{{Footnote|アバターの Bounding Box にアタッチメントが含まれていないため、意味がありません}}。
*ルートプリムにだけ適用できます (オブジェクト全体が VolumeDetect になります) 。
*物理オブジェクトとアバターのみ検出します。
*ループで回して {{LSLG/ja|llSetPos}}() を呼び出しながら移動させると、 {{LSLGC/ja|Collision|衝突系イベント}} が発生しなくなります。
*アバターが VolumeDetect オブジェクトと衝突した場合、アタッチメントは衝突系イベントを記録しません。
|constants
|constants
|examples=<lsl>// by Cory Bjornson
|examples=<source lang="lsl2">default
 
default
{
{
state_entry()
state_entry()
{
{
llVolumeDetect(TRUE); // Starts llVolumeDetect
llVolumeDetect(TRUE); // llVolumeDetect を開始
llSetStatus(STATUS_PHANTOM, TRUE); // Makes the Prim Phantom
}
}
collision(integer total_number)
collision_start(integer total_number)
{
{
llSay(0, "Detected!"); // Tells you when something penetrates the prim
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/ja
|cat1=Collision
|cat2=Physics/ja
|cat2=Physics
|cat3=Object/ja
|cat3=Object
|cat4
|cat4=Phantom
}}
}}

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