トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

物理空間に配置できる形状_PhysX

Shape - 物理空間に配置できる形状(2006/09/11 更新)

物理空間に配置する形状は、あくまでもアタリ判定のためのシンプルなものでかまいません。例えば、球をレンダリングする際にわざわざポリゴンに変換して物理空間に持つ必要はなく、球体としての衝突判定を行えばいいです。

また、複雑なオブジェクトの場合は球または直方体の集合で表し、衝突判定はそのシンプルなプリミティブの集合で行う、というのも手であります。

下画像の場合は、トラが7個の直方体で表されています。

それぞれの直方体をOBB(Oriented bounding box)と呼びます。OBBは位置とサイズ、回転行列を持つ直方体です。対して、シーンのXYZ軸に平行な回転を持たない直方体をAABB(Axis aligned bounding box)と呼びます。

とはいえ、シンプルなプリミティブだけでは精度が足りない場合もあります。その場合はトライアングルメッシュの面ごとにアタリ判定を行うことができます。

PhysXにてサポートされている形状(shape)の種類は以下のようになっています。ほかにもあるのですが、とりあえず分かりやすいのだけ。

種類対応クラス名
直方体(OBB)NxBoxShape
NxSphereShape
カプセル(円柱の先が丸くなったもの)NxCapsuleShape
平面NxPlaneShape
トライアングルメッシュNxTriangleMeshShape

形状はあくまでも形状であって、そのままでは物理空間には存在させることはできません。また、位置情報・回転情報は持っていません。

物理空間に結びつけられた形状は「アクター(Actor)」と呼ばれます。舞台に立つ俳優さんですね。

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.