Maya シーンに Bullet オブジェクトを追加する場合は、
bulletSolverShape ノードが作成されます。このノードのアトリビュートは、重力と風のようなシーン全体に適用される Bullet Physics の全体設定、および使用されているソルバ エンジン(OpenCL CPU や OpenCL GPU)を管理します。
注: OpenCL をサポートするグラフィックス カードが必要です。
注: リジッド セット(Rigid Sets)プロパティは、ソルバを選択したときにアトリビュート エディタ(Attribute Editor)でのみ確認することができます。
基本フィールド(Basic Fields)セクションのMaya フィールドの使用(Use Maya Fields)オプションを有効にしておくと、Maya フィールド(Maya Fields)を使用してソルバ処理のコントロールを向上させることができます。
ソルバのプロパティ(Solver Properties)
-
シミュレーションの有効化(Enable Simulation)
- シミュレーション処理を開始するには、この設定を有効にして設定をアクティブにします。
-
開始時間(Start time)
- Bullet のシミュレーションが始まる時間(単位: フレーム)を設定します。このアトリビュートの値を 1 より大きく設定することにより、Bullet オブジェクトが動き始める前に間隔を置いてシーンをアニメートすることができます。
-
分割インパルス(Split Impulse)
- このオプションが有効な場合、シミュレーション開始時に互いに貫通しているオブジェクトを分離するために作成される速度を無効にします。これは、初期位置に留まろうとしているオブジェクトが強引に分離してしまわないようにするときに、便利です。
-
ソルバ アクセラレーション(Solver Acceleration)
- Bullet のソフト ボディ ソルバは、OpenCL をサポートするシステムに対して OpenCL を使用すると格段に加速できます。このオプションによって、マルチコア CPU や GPU (グラフィックス プロセッシング ユニット)などの並列演算処理が可能なリソースの長所を Bullet が生かすことができます。GPU をサポートしないシステムでも、マルチコア CPU の利点を生かす CPU 専用バージョンの OpenCL ソルバを使用すると、ソルバを十分に加速することができます。
注: ソルバ アクセラレーション(Solver Acceleration)はソフト ボディにのみ影響し、リジッド ボディには影響しません。リジッド ボディの計算は CPU 上で実行されます。
-
内部の固定フレーム レート(Internal Fixed Frame Rate)
- Bullet Physics のシミュレーションが更新されるレートを設定します。この設定は、シミュレーションの解像度を定義します。高速移動するオブジェクトが原因で衝突が起きない場合は、内部の固定フレーム レート(Rate Internal Fixed Frame Rate)を大きくして、時間ステップを短くします。詳細については、www.bulletphysics.org で Bullet Physics のマニュアルを参照してください。
-
最大反復回数
-
ソルバが計算を止めて最後の近似解を最終計算として使用するまでに連立方程式が反復される回数の最大値を設定します。したがって、シミュレーション ステップの合計時間を固定することができます。
注: このメソッドの結果は、これより明示的なソルバほど正確でない可能性があります。ただし、このソルバの精度は、ゲームやムービーのほとんどのアプリケーションには十分です。
Maya の再生スピードは、2 つの隣接するフレームの時間間隔で決まります。たとえば、24 fps は各時間間隔が 1/24 秒であることを意味します。Bullet は固定の時間ステップで処理を行います。これは、内部の固定フレーム レート(Internal Fixed Frame Rate)アトリビュートで設定されています。たとえば、既定値 60Hz なら、Bullet が 1/60 秒の内部時間ステップでシミュレーションを行うことを意味しています。Bullet では、時間間隔が最大反復回数(Max Num Iterations)と固定時間ステップとの積より小さくなることが要求されます。 詳細については、www.bulletphysics.org にある Bullet Physics のマニュアルを参照してください。
-
Ground Plane
- Ground Plane オプションをオンにすると、Maya ビュー プレーンがソルバ内のオブジェクトの「フロア」として設定され、オブジェクトが衝突するようになります。
注: Ground Plane オプションをアクティブにすると、地表プレーンの既定のアトリビュートは次のようになります。
- friction type="float" 0.500000
- restitution type="float" 0.990000
- inverseMass type="float" 0.000000
- linearDamping type="float" 0.010000
- angularDamping type="float" 0.010000
これらの設定を変更するには、
作成 >
ポリゴン プリミティブ >
プレーン(Create > Polygon Primitives > Plane)を選択してポリゴン プレーンを作成し、
アトリビュート エディタ(Attribute Editor)でプレーン設定を変更します。
基本フィールド
-
Maya フィールドの使用(Use Maya Fields)
- Bullet の基本フィールド(Basic Fields)ではなく Maya フィールド(Maya Fields)を使用したい場合にこのオプションを有効にします。詳細については、「Bullet と Maya のフィールド」を参照してください。
注: Maya フィールドの使用(Use Maya Fields)を有効にすると、Bullet の重力(Gravity)、風のマグニチュード(Wind Magnitude)、風向(Wind Direction)の各設定が無効になります。ただし、Maya フィールド(Maya Fields)の設定を使用するときは、他のどのフィールドを使用しているときでも、忘れずに重力を設定する必要があります。
-
重力(Gravity)
- 重力による加速度を表すベクトルを指定します。 重力(Gravity)は、シーン内の動的なオブジェクトすべてに影響を与えます。
注: 重力(Gravity)の既定値は、-9.8 です。
-
風のマグニチュード
- シーン内のグローバルな風フォースの強さを指定します。風はソフト ボディにのみ影響を与えます。
注: ソフト ボディ オブジェクトの航空力学(Aerodynamics)の値をゼロ以外に設定します。そうしないとオブジェクトが風を無視してしまいます。
注: Bullet での風の設定は、リジッド ボディには効果がありません。
-
風向(Wind Direction)
- 風フォースの方向をベクトル(X、Y、Z)で指定します。
注: ソフト ボディ オブジェクトの航空力学(Aerodynamics)の値をゼロ以外に設定します。そうしないとオブジェクトが風を無視してしまいます。
注: Bullet での風の設定は、リジッド ボディには効果がありません。
-
衝突フィルタ(Collision Filters)
- 選択的衝突を指定するときにリジッド ボディとソフト ボディによって使用される衝突フィルタの名前を定義します。詳細情報は、www.bulletphysics.org にある Bullet Physics のマニュアルの衝突フィルタリングに関する項を参照してください。
ソルバ表示(Solver Display)
ソルバ表示(Solver Display)設定では、リジッド セットと粘着のコンストレイントが考慮されます。
-
バウンディング ボックス(Bounding Box)
- リジッド セット内の各シェイプにローカルで位置合わせされたバウンディング ボックスが表示されます。これは、表示を高速化するためにジオメトリを非表示にしている場合に、シミュレーション内でリジッド ボディによって占められるボリュームを可視化するために便利です。シミュレーションの開始フレームでは役立ちますが、シミュレーションの実行中は軸で位置合わせされるため、あまり役に立ちません。
注: 軸はシーンのアップ軸ではなく、オブジェクトに対して位置合わせされます。
-
重心(Center of Mass)
- ソルバでオブジェクトの重心を表示します。Center of Mass ノードの色が変わり、ソルバでのノードのステータス(アクティブ/非アクティブ)が示されます。
- 暗い緑: オブジェクトがアクティブです。
- 明るい緑: オブジェクトがスリープしようとしています。
- 白: オブジェクトがスリープしています(非アクティブ)。
- 赤: オブジェクトがスリープしません。
- 黄色: オブジェクトが無効になっています。
注: 重心(Center of Mass)設定をアニメートすることはできません。
注: ハル以外のコライダ シェイプの軸上で重心(Center of Mass)アトリビュートを変更すると、コライダ シェイプのプリミティブが変換されます。この影響を緩和するには、自動フィット(Auto Fit )をオフに設定した場合にアクセスできるコライダのプロパティ(Collider Properties )の下で、コライダ シェイプ オフセット(Collider Shape Offset)アトリビュートに同じ軸の反対のオフセットを追加します。
-
衝突シェイプ(Collision Shape)
-
実際のジオメトリの代わりにプロキシ シェイプを表示し、オブジェクトを非表示にした場合のソルバ計算を高速化します。衝突シェイプのサイズは、リジッド セット内にあるジオメトリの各ピースの境界で定義されます。
衝突シェイプは初期状態のノードの衝突シェイプ タイプで決定されます。
衝突動作はこのシェイプによる影響を受けるため、オブジェクトのシェイプをできる限り厳密に一致させることをお勧めします。
注: 最も効率的な衝突シェイプはボックスと球で、ソルバを高速化できます。
-
コンストレイント(Constraints)
- リジッド オブジェクトが粘着されているポイントをすべて表示します。ポイントは、シミュレーションが解決するとすぐに消えます。
注: コンストレイント(Constraints)設定が
Glue Shapes オプションを使用するリジッド セットに適用されます。
-
接触ポイント(Contact Points)
- ピースが接触して力を加えている領域に黄色のドットを表示します。初期状態のノードの衝突シェイプのマージン(Collision Shape Margin)設定の値を変更することで、この設定に影響を与えることができます。
注: 接触ポイント(Contact Points)設定がすべてのリジッド ボディに適用されます。