Difference between revisions of "LlGetBoundingBox/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 850162 by Mako Nozaki (Talk))
Line 1: Line 1:
{{LSL_Function/ja
{{LSL_Function/uuid/ja|object|sim=*}}{{LSL_Function/ja
|func_id=277|func_sleep=0.0|func_energy=10.0
|func_id=277|func_sleep=0.0|func_energy=10.0
|func=llGetBoundingBox|return_type=list
|func=llGetBoundingBox|
|p1_type=key|p1_name=object|p1_desc=Sim内のオブジェクトかアバター。
|p1_type=key|p1_name=object
|func_footnote=
|func_footnote=取り囲む直方体はリンクセット全体を囲むものであり、要求されたプリムのみを囲むものではありません。<br/>'''object''' が見つからない場合、空のリスト (<code>[]</code>) を返します。
* 戻り値の形式: [ (vector) min_corner, (vector) max_corner ]
|func_desc='''object''' を取り囲む直方体について、その中心を挟んで互いに対角となる頂点の、ルートプリムに対する相対座標のリストを返します。<br/>形式: <code>[ (vector) {{HoverText|min_corner|vector min_corner;}}, (vector) {{HoverText|max_corner|vector max_corner;}} ]</code>
* 取り囲む直方体はリンクセット全体を囲むものであり、要求されたプリムのみを囲むものではありません。
|spec=
|func_desc
オブジェクトはプリムのシェイプと上に座っているアバターで具現されます。Bounding Box はオブジェクトの具現を含めることのできる可能な限り小さい直平行 6 面体で、面は地域の座標軸に沿って配置されています。
|return_text='''object''' を取り囲む直方体について、その中心を挟んで互いに対角となる頂点の、ルートプリムに対する相対座標のリスト
|caveats=
|spec
* '''object''' がルートプリムでなくても関係なく、オブジェクトの Bounding Box は返ります。
|caveats
* アタッチメントには自分自身の Bounding Box がありません (物理的な相互作用がないため{{Footnote|[[Phantom]] と [[VolumeDetect]] には物理的な相互作用があります。このため、これらにも Bounding Box があるのです。|Phantom と VolumeDetect には物理的な相互作用があります。このため、これらにも Bounding Box があるのです。}}) 。その代わり、アバターの Bounding Box が返ります。
 
==== サーバ 1.36 以上 ====
* アバターがオブジェクトに座ると、アバターから報告される Bounding Box は不変です。
 
==== サーバ 1.36 より前 ====
* オブジェクトやアバターから報告される Bounding Box は、物理属性の許容バッファがないため、 3 次元の全てで 0.1 メートルずつ小さくなります。この間違いはスクリプトの後方互換性のためにそのまま維持されています。min_corner から <0.05, 0.05, 0.05> を引き、max_corner に <0.05, 0.05, 0.05> を足して正確な Bounding Box を得てください。
|constants
|constants
|examples=<lsl>default//アバターをぴったり取り囲むサイズに変形する直方体
|examples=<lsl>default//アバターをぴったり取り囲むサイズに変形する直方体

Revision as of 04:49, 3 May 2010

要約

関数: llGetBoundingBox( key object );

object を取り囲む直方体について、その中心を挟んで互いに対角となる頂点の、ルートプリムに対する相対座標のリストを返します。
形式: [ (vector) min_corner, (vector) max_corner ]

• key object 同じ 地域 にある アバター または プリムUUID

取り囲む直方体はリンクセット全体を囲むものであり、要求されたプリムのみを囲むものではありません。
object が見つからない場合、空のリスト ([]) を返します。

仕様

オブジェクトはプリムのシェイプと上に座っているアバターで具現されます。Bounding Box はオブジェクトの具現を含めることのできる可能な限り小さい直平行 6 面体で、面は地域の座標軸に沿って配置されています。

警告

  • object がルートプリムでなくても関係なく、オブジェクトの Bounding Box は返ります。
  • アタッチメントには自分自身の Bounding Box がありません (物理的な相互作用がないため[1]) 。その代わり、アバターの Bounding Box が返ります。

サーバ 1.36 以上

  • アバターがオブジェクトに座ると、アバターから報告される Bounding Box は不変です。

サーバ 1.36 より前

  • オブジェクトやアバターから報告される Bounding Box は、物理属性の許容バッファがないため、 3 次元の全てで 0.1 メートルずつ小さくなります。この間違いはスクリプトの後方互換性のためにそのまま維持されています。min_corner から <0.05, 0.05, 0.05> を引き、max_corner に <0.05, 0.05, 0.05> を足して正確な Bounding Box を得てください。

サンプル

<lsl>default//アバターをぴったり取り囲むサイズに変形する直方体 {

   state_entry()
   {
       llSetStatus(STATUS_PHANTOM, TRUE);
   }
   
   touch_start(integer total_number)
   {
       key target = llDetectedKey(0);
       list box = llGetBoundingBox(target);
       vector center = (llList2Vector(box, 0) + llList2Vector(box, 1)) * 0.5;
       vector size = llList2Vector(box, 1) - llList2Vector(box, 0);
       llSetPrimitiveParams([PRIM_POSITION, center, PRIM_SIZE, size]);
       llSetText("Name: " + llDetectedName(0) + ", UUID: " + (string)target + 
               "\nBounding Box Size: " + (string)size, <1.0, 1.0, 1.0>, 1.0);
   }
}</lsl>

関連項目

関数

•  llGetAgentSize

特記事項

Search JIRA for related Issues

脚注

  1. ^ PhantomVolumeDetect には物理的な相互作用があります。このため、これらにも Bounding Box があるのです。

Signature

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