単純なソフトウェアアプリケーション用の物理エンジンを選択しようとしています。かなり少数のオブジェクトをシミュレートすることになるので、パフォーマンスは大きな問題にはなりません。私は主に、関係するモーションの正確さに関心があります。また、エンジンをwindows/linux/mac間でクロスプラットフォームにし、c ++コードで使用できるようにしたいと思います。 Bullet、Newton Game Dynamics、およびODEはオープンソースであるため、これらを検討していました。ただし、Havok/PhysXの方がはるかに正確であれば、それらも検討します。
私が見つけたのはエンジンに関する意見だけですが、オプション間の徹底的な比較はありますか?または、さまざまなエンジンを試した経験のある人はいますか。私がやろうとしていることは比較的単純なので、おそらくそれらの間に大きな違いはないでしょうが、オプションについて人々が言わなければならないことを聞きたいですか?ありがとう!
ここにODEとBulletの素晴らしい比較があります:
http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet
それが選択をするのに役立つことを願っています。
少し古いですが、Bullet、JigLib、Newton、ODE、PhysXなどの包括的な比較が(アルファベット順で)ここで利用できます。
比較では、積分器、摩擦モデル、制約ソルバー、衝突検出、スタッキング、および計算パフォーマンスが考慮されます。
申し訳ありませんが、精度に関して実際の比較を見つけることはできません。私は今、私の修士論文を3か月間探していますが、見つかりませんでした。それで私は自分で比較を始めましたが、それはまだ長い道のりです。私は3Dエンジン、さらには2Dエンジンでテストしていますが、今のところシマリスはこれまでで最高の精度を備えています。したがって、3Dが必要ない場合は、それをお勧めします。ただし、3Dが緊急に必要であり、問題が説明したとおりに単純な場合(将来拡張したくない場合)、BulletとODEがそれを行います。 Bulletは、はるかに最新であり、現在も積極的に維持されているため、私はBulletを好みます。少なくとも、私が今戦っているニュートンがあります。したがって、(重要な)悪いドキュメントに慣れるのが少し手間がかかることを除いて、私はあなたに賛否両論を与えることはできません。お役に立てば幸いです。宜しくお願いします。
エンジニアリングで使用されているSimbodyをチェックしてください。これは、関節のあるボディのシミュレーションに特に適しています。人間の筋骨格のダイナミクスをシミュレートするために5年以上使用されています。また、ロボットシミュレーション環境であるGazeboで使用されている物理エンジンの1つでもあります。
物理抽象化レイヤーは、統合されたAPIを介して多数の物理エンジンをサポートしているため、状況に応じてエンジンを簡単に比較できます。 [〜#〜] pal [〜#〜] これらの物理エンジンに固有のインターフェースを提供します。
2007年12月の論文 にリンクされている この回答 によると:
オープンソースエンジンの中で、Bulletエンジンは全体的に最高の結果を提供し、一部の商用エンジンをも上回りました。 Tokamakは最も計算効率が高く、ゲーム開発に適していますが、TrueAxisとNewtonは低い更新レートで良好に機能しました。シミュレーションシステムの場合、最適なエンジンを選択するために、シミュレーションの最も重要なプロパティを決定する必要があります。
同じ作者による2007年9月のデモは次のとおりです。
ODEで本当に価値があると思ったのは、「オンザフライ」でほとんどすべてのパラメーターを変更できることです。一例として、慣性やボディの形状を変更しても、エンジンは文句を言わないようです。球をボックスに置き換えると、すべてが機能し続けるか、球のサイズを変更できます。他のエンジンは、最適化の目的で内部的に多くの作業を行うため、通常はそれほど柔軟ではありません。精度に関しては、私が知る限り、ODEは非常に正確な(ただし遅い)ソルバーをサポートしています。これは、25〜30を超えるオブジェクトをリアルタイムで操作できないため、ゲーム業界では明らかにあまり人気がありません。お役に立てれば。