Softimageでは、リジッドボディのシミュレート用に、NVIDIA™[PhysX™]または[ODE](Open Dynamics Engine)のどちらかのダイナミクスエンジンを選択できます。ダイナミクス エンジンはどちらを使って作業してもほとんどの場合は同じですが、どちらのエンジンを選択したらよいかの決定に影響しうる重要な違いがあります。
ダイナミクス エンジンはシミュレーション環境ごとに設定します。このため、同じシーン内でも環境ごとに異なるエンジンを使用する場合があります。また、ここで説明しているように、1 つのエンジンを使って作成されたシミュレーションは、エンジンを切り替えるだけで他のシミュレーションに変換することができます。
現在のシミュレーション環境を自由に設定します(「現在の環境を設定する」を参照)。
開いた Explorer で[シミュレーション](Simulation)を選択するか、アイコンをクリックして[Preferences: Simulation]プロパティ エディタを開きます。
[リジッド ボディ ダイナミクス エンジン](Rigid Body Dynamics Engine)リストから、[NVIDIA PhysX]または[Open Dynamics Engine(ODE)]のどちらかのオプションを選択します(「PhysX か、ODE か、それが問題だ」を参照)。PhysX は、新しいシーン用のデフォルト エンジンです。
[直ぐ更新](Apply Now)ボタンをクリックして、既存の環境のダイナミクス エンジンを、選択されたエンジンに変更(更新)します。
ダイナミクス エンジンを切り替えた後にこのボタンをクリックしなければ、次回作成されたシミュレーション環境でのみ新しいダイナミクス エンジンが使用されます。この操作によって、1 つのシーン内でも環境ごとにダイナミクス エンジンを変えることができます。
ダイナミクス エンジンは PhysX または ODE のどちらを使って作業しても多くの場合は同じですが、どちらのエンジンを選択すべきかの決定に影響すると考えられる重要な違いがあります。以下は各エンジンの説明であり、最良の選択肢を決定する助けになると考えられます。
[PhysX] は、新しいシーン用のデフォルト エンジンであり、一般的には ODE よりも安定していて高速です。多くの衝突リジッド ボディがあるシーンでは特にそうです。シーンにおいて多くのリジッド ボディが相互運用されている場合や、複雑なジオメトリを持つリジッド ボディが使用されている場合でも、シミュレートは容易です。
PhysXに用意されている衝突タイプとして、[凸面ハル](Hull)があります。[凸面ハル]は、オブジェクトの実際のジオメトリを迅速に近似するものであり(実際のジオメトリをオブジェクトの周囲にシュリンクラップさせると想定してください)、きわめて複雑なジオメトリタイプに対して使用できます。
オブジェクトの実際のジオメトリを衝突に使用する必要がある場合、PhysX の[実際の形状](Actual Shape)衝突タイプは安定していて正確です。[実際の形状]を使えば、衝突データの作成に使用される詳細レベルを設定できます。PhysX は、このデータを使って、各リジッド ボディの衝突に対するジオメトリを計算します。詳細のレベルおよびジオメトリの複雑さによっては、最初はこのデータの計算に若干の時間がかかるかもしれませんが、データの計算が済めば、衝突が高速かつ正確になります。
衝突タイプ([凸面ハル]および[実際の形状])の詳細については、「衝突ジオメトリ タイプの選択」を参照してください。
[スプリング]コンストレイントおよび[スライダ]コンストレイントに対して位置をオフセットできます(「リジッド ボディ コンストレイント」を参照)。
静摩擦のみ提供する ODE とは異なり、静摩擦および動摩擦の両方の摩擦タイプを使用できます(「リジッドボディ弾性と摩擦の設定」を参照)。
リジッド ボディを作成してゲーム用エンジンに書き出す場合は、[PhysX Dynamics Operator]プロパティ エディタの[アドバンス]ページのパラメータを確認します(「[PhysX Dynamics Operator]プロパティ エディタ」(「プロパティ リファレンス」)を参照)。
[ODE] は、以前のバージョンの Softimage でデフォルトで使用されていたリジッド ボディ ダイナミクス エンジンです。
ODE は、リジッド ボディ ダイナミクス シミュレート用の無償オープン ソース ライブラリです。ODE を使って、それに適合したユーザ独自のフィーチャを書き込むことができます。これは、リジッド ボディ システムに新機能を追加する場合や、リジッド ボディ システムに合わせて既存の機能を変更する場合に重要と考えられます。
ODE はクロスプラットフォームであり、必要などのプラットフォーム上でもコンパイルされるように変更できます。これはゲーム開発者にとって、重要な問題となる場合があります。
ODE は十分な機能を備え、ほとんどのリジッド ボディ シミュレーションに対して安定しています。ただし、多数のリジッド ボディが含まれるシーンでは実行できない場合があります。特に、リジッド ボディの実際のシェイプを衝突ジオメトリとして使用する場合はその可能性が高くなります。