物理エンジン
PhysX
PhysX(フィジクス)はNVIDIA社が開発した物理エンジンです。使用しているGPUの機種によっては、GPUによるハードウェアアクセラレートが可能です。
物理演算は、基本的に高負荷な処理を必要とするため、CPUのみで演算する場合、大きな遅延や精度の低下を引き起こす可能性があるので、PhysXではGPUによるハードウェアアクセラレーションを実現しています。
PhysXは、WindowsやmaxOS、Linux、iOS、Androidなど様々なOSに対応しています。
PhysXを使用したシミュレータには以下があります。
- Unity3D
- Unreal Engine
ドキュメント:https://gameworksdocs.nvidia.com/PhysX/4.1/documentation/physxguide/Index.html
Havok
Havok(ハボック)は、Havok社が開発した物理エンジンです。
PhysXと同様に、Havokは、WindowsやmaxOS、Linux、iOS、Androidなど様々なOSに対応しています。
近年、UnityはDOTS(Data-Oriented Technology Stack)の物理エンジンの開発を進めており、そこで、Havokとの連携を発表しています。現在は、UnityでHavokを使用することが可能です。
Bullet
Bullet(バレット)は、Erwin Coumansらによって開発されたオープンソースの物理エンジンです。
Bulletは、WindowsやmaxOS、Linux、iOS、Androidなど様々なOSに対応しています。
Bullet3はGPUに対応しています。
- PyBullet
- Blender
ODE
ODE(Open Dynamics Engine)は、Russell Smithらによって開発されたオープンソースの物理エンジンです。
ODEを使用したシミュレータには以下があります。
- Gazebo
- Webots
ドキュメント:http://ode.org/wiki/index.php?title=Manual
RaiSim
ロボティクスや人工知能の分野で使用することを想定して開発された物理エンジンです。
ドキュメント:https://raisim.com/
MuJoCo
MuJoCo(Multi-Joint dynamics with Contact)は、Emo Todorov氏によって開発さた物理エンジンです。今までは、有料販売されていましたが、DeepMindに買収されて以降、無料で使用可能になっています。
ドキュメント:https://mujoco.readthedocs.io/en/latest/overview.html