この記事の3行まとめ
- 「Box2D」の開発者であるErin Catto氏が、3D物理演算エンジン「Box3D」を発表
- 異なる環境でも同じ入力に対して一定の動作を返す、決定論的な動作や安定性の高さを設計思想として持つ物理エンジン
- GitHubにてMITライセンスのもと、オープンソースとして公開され、商用・非商用問わず無料で利用可能
ゲーム開発者のErin Catto氏は2026年6月30日(現地時間)、3D物理演算エンジンである「Box3D」を発表し、GitHubにてバージョン0.1.0を公開しました。
Erin Catto氏によるBox3Dの機能紹介動画
「Box3D」は、Erin Catto氏が開発する3D向け物理演算エンジンです。
MITライセンスのもとオープンソースとして提供されており、商用・非商用を問わず無料で利用が可能です。
Erin Catto氏は、オープンソースの2D物理エンジン「Box2D」の開発者としても知られており、Box2Dを構成する2D物理シミュレーションの技術を、3D空間へと応用したものとして位置づけられます。
(画像は紹介動画より引用)
既存の物理エンジンには、異なるプラットフォームでも同じ入力に対して常に同じ結果を返すといった、安定性を確保することが困難な場合がありますす。
これらの問題を対処するため、Box3Dでは、Box2Dで採用された「サブステッピング」と呼ばれる、オブジェクト同士のシミュレーションを安定して処理できる技術を3Dへと拡張し、高速な衝突判定や動作の安定性を両立しています。
(画像は紹介動画より引用)
Box3Dには、ゲーム開発向けのさまざまな機能が実装されています。
主要な機能の一つが、「Character Mover」です。これは、カプセル型の剛体を物理挙動で動かすのではなく、「Shape cast」などの幾何学的なクエリを使用して移動を制御する仕組みです。
これにより、オンラインゲームなどで高い制御性と再現性を確保したキャラクター移動が可能になります。
また、最適化機能として「Baked compound collision」をサポートしています。
これは、多数の形状が組み合わさった静的な衝突判定を事前に計算しておくことで、実行時の負荷を大幅に軽減する手法です。
さらに、積み上げられた物体の安定性を向上させる「Contact recycling」などの独自技術も導入されています。
「Character Mover」を利用することで階段のような複雑な地形も安定したシミュレーションが可能(画像は紹介動画より引用)
Box3DのライブラリはC11準拠のC言語で記述されています。そのため、利用にはC11をサポートするコンパイラが必要です。
また、パフォーマンスを最大限に引き出すために、SSE2やNEONといったSIMD拡張命令セットに対応したCPUの利用が推奨されています。
Box3Dに関する詳細は、ニュースリリース、公式ドキュメントをご確認ください。
Announcing Box3DBox3D 公式ドキュメント