サンプル

特定ボーンのみへのBVの設定

Figureの特定のボーンを選択してバウンディングボリューム(BV)を作成・設定することができます。不必要なBVを作成せず必要なボーンにのみBVを設定することで、衝突判定の計算コストを抑えることができます。


特定ボーンのみへのBVの設定

目次






1.特定ボーンへのBV設定の手順

Figureの特定ボーンへのBVの設定は、

1. FigureからBVFigureを作成する
2. Figureの特定ボーンからBVを作成する
3. 作成したBVをBVFigureの特定ボーンに設定する

という手順で行います。

さらに、BVFigureにFigureと同じ変換行列・アクション・フレーム値を設定すれば、BVは自動的にボーンの座標変換・アクションに合わせて特定ボーンに追従します。


2.特定ボーンへのBV設定のサンプルコード

ここでは、特定ボーンへのBVの設定を中心にサンプルコードを説明します。
以下のコードは、BVを設定したいFigureからBVFigureを作成します。同時に、BVFigureにFigureと同じアクションを設定します。

// BVFigureの作成とアクションの設定
bvFigure = BVBuilder.createBVFigure( figure );
bvFigure.setAction( action, 0 );

以下のコードは、対象のボーンにあわせてBVを作成します。

// Figureの特定のボーンからBoundingVolumeを作成する
bvBone = BVBuilder.createBoneBV( figure,
setBoneId,                  // ボーンID
0,                              // パターン番号
Shape.TYPE_SPHERE,  // BVの形状
1.f,                            // Fit率
BoundingVolume.ROTATE_NONE );

そして、以下のコードは、作成したBVを対象のボーンに設定します。

// BVFigureのボーンに、作成したBoundingVolumeを設定
bvFigure.setBV( bvBone, setBoneId );

また、Figureのアクションに合わせてBVを動かすため、Figureのフレーム値を更新する際はBVFigureにも同じ値を設定します。

// フレーム値の設定
figure.setTime( frame );
bvFigure.setTime( frame );

特定のボーンを選択し、BVを作成・設定する 1  特定のボーンを選択し、BVを作成・設定する 2
特定のボーンを選択し、BVを作成・設定する


このページの先頭へ戻る