2009-04-30 19 views
15

私は最後の数週間でthe Open Dynamics Engine (ODE)を使って成功しました。それは非常に簡単なAPIとそのシミュレーション少なくともを見て現実的です。 (私はときどき私の衝突の合同パラメータについて疑問を呈します。)オープンソースの物理エンジン

私の唯一の苦情は時には犬であるということです。私が1000年代のインタラクティブな身体を素朴にシミュレートすると、私のパフォーマンスは飛び込み始めます。

私は空間システムの負荷を軽減するために空間グリッドに時間を費やすことができますが、ODEで作業するコードをチューニングする前に、他のオープンソース/価値のある無料の物理エンジンをご覧ください。これは商用アプリ向けのものなので、私は大学生の週末のプロジェクトよりも、より強固でより多くのバトルテストを探しています。

答えて

21

は非常にトリッキーで、Havokのような人々は、当然技術の保護です。それは言った、私の知る自由のシステムは、次のとおりです。

  • ニュートンゲームダイナミクス - この1つは、性能を犠牲にし、非常に正確で安定したソルバーを持つ上の評判を作りました。ここ数年、他の2つを犠牲にすることなく性能を上げようとしています。それはうまく設計されたエンジンであり、うまく動作しますが、それはまだ低速のものの1つです。オープンソースではありません。
  • トカマク - 正反対です。これはひどいです。デモでさえ安定して動作しません。箱の積み重ねをするだけで、大規模なジッタを見ることができます。私は感動したことはありません。しかし、それはオープンソースであり、激しく高速です。
  • Bullet - これは元ハボックの従業員によってリードされています。現在はソニーに雇われています(SOEかSCEAかどうかはわかりませんが)。これはシーンの初心者であり、実際にはオープンソースです。それはソニーの後ろ向きな支持を得ています。それはうまくクロスプラットフォームであり、彼らが何をしているのかを知っている人々によって開発されています。
  • TrueAxis - 最近のシーンの外観。私はそれについて多くのことを知らないし、実質的なコミュニティを得ていない。私はここで少し懐疑的な傾向があります。それはよく書かれているかもしれませんが、小さなコミュニティの助けを借りてくるのは難しいかもしれません。他のエンジンと比較して、おそらくよくテストされ安定したエンジンではありません。

私はBulletの巨大なファンですが、私はそれに関するいくつかの苦情を聞いたことがあります。それらのほとんどは、貧弱なドキュメントや、Macなどのセカンダリプラットフォームのいくつかの問題に時折問題を集中させるように見えます。それはまだ "ビッグ2"、ハボックとPhysXの後の私の選択だろう。

+0

私はこの質問をしてうれしいです。弾丸は確かに私が探していたものとまったく同じように聞こえる。 –

+0

Bulletは、ゲームエンジンの形でBlenderにも統合されています。 – new123456

+0

ニュートンはオープンソースです:https://github.com/MADEAPPS/newton-dynamics/ – Dmitriy

5

Bulletは素晴らしいもので、商業的に使用されています(例えばBolt製作、いくつかのPS3/Wiiゲームなど)。多くのplatformaやnVidiaのCUDAをサポートしています。

4

は商業的に無料で入手できます。

ドキュメントははるかに優れていますが、開始時に役立つフォーラムや多数の例があります。

2

ファーサーはとてもいいです。 、高速で正確、かつ安定したソルバーを構築

http://www.codeplex.com/FarseerPhysics

+2

これはC#で完全に2Dエンジンであることを考えると、ODEよりも能力が低く、速度が遅く、おそらくOPが望むものではありません。私を間違ってはいけない、FarseerはXNAプロジェクトにとって素晴らしい。私はそれがここで役に立つとは思わない。 – Promit

+0

合意が、それは一見価値があるかもしれません:) – Chuck

3

今日のハードウェアでは、x86 CPU上で1000個の相互作用するリジッドボディを単純にシミュレートすると、例外なくパフォーマンスが向上し始めます。もっとパフォーマンスが必要な場合は、GPUに作業負荷を移す物理エンジンを探す方がよいでしょう。

CPUには偉大な整数の数学と論理処理能力がありますが、GPUにははるかに優れた生の浮動小数点計算機能があります。

さらにCPUを使用するだけでパフォーマンスが向上したい場合は、要件を変更する必要があります。

1

Nvidias PhysXオープンソースではありませんが、Windows、Linux、およびPS3ためが自由に利用できます。 http://en.wikipedia.org/wiki/PhysXから

引用:NVIDIAは、WindowsとLinuxユーザと開発者に無償でエンジンとSDKの両方を提供して

[6]。 PlayStation 3 SDKは、ソニーの毛布購入契約のために自由に入手できます。

+0

リンクありがとうございます。私の場合、私はコンパイルを制御できる必要がありますので、これは私にとってはうまくいかないでしょう。それは知って良いです! –

関連する問題