物理エンジンを自作する ゲームを作成する際に使用するUnityやUnreal Engineなどゲーム制作ソフトには、物理シミュレーションを行う物理エンジンが普通標準で搭載されている。 これらの物理エンジンを使えば簡単に物体の衝突をシミュレーションしてゲームを作成することができるが、物理エンジンで行っていることを理解し、自分で実装してみたいと興味を持ったので3D空間での物理エンジンを自作してみた。 以下、今回作成した物理エンジンを使った物体の衝突シミュレーションの例である。いずれも3D空間内で物体の反発、回転、摩擦を考慮してシミュレーションしている。 球、直方体、六角柱の物体の衝突 重力のある空間での多数の球の衝突 重力のある空間での多数の三角柱の衝突 重力のある空間での球の運動(1,2,3) 物理エンジンのコードは以下githubにある。 (実行方法) リポジトリをgit cloneしてデ