LlVolumeDetect/ja

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

要約

関数: 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

サンプル

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

}</lsl>

関連項目

イベント

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