Open Physics
使用するタイミング
- エージェントが決定論的な物理ワールドの作成、進行、クエリ、またはリプレイを必要とする場合。
- プレイテスターが視覚的な推測ではなく、コンタクト、レイキャスト、またはソルバーの診断情報を必要とする場合。
可用性ガードレール — 現在の段階
このリポジトリはプレアルファのスキャフォールドです。まだphysics_*ツールは登録されていません。
ワールドがシミュレートされた、リプレイが一致した、またはビルドが物理的に正しいと主張しないでください。計画されたツールが利用できない場合は、ネイティブコアが実装されていないことを報告し、別のエンジンや捏造された出力で代用せずに停止してください。
意図されたM0ワークフロー
このループは、対応するツールが実際に存在する場合にのみ使用してください。
physics_world_create
→ physics_body_add (すべてのボディに対して)
→ physics_step (固定ステップ数)
→ physics_contacts_report / physics_raycast
→ physics_replay (同じ入力ログを使用し、同一の結果を要求)
将来の実装に関するルール:
- 初期ワールドの記述は明示的かつシリアライズ可能に保つこと。
- エラーの有無だけでシミュレーションの成功を推測せず、結果の状態を検査すること。
- 決定論をテスト可能な契約として扱うこと: 同じ入力とステップログは同一の出力を生成しなければならない。
- 最大制約違反と破損したインパルスをシミュレーション結果とともに報告すること。
- エンジンをHavok、またはHavokコードを含むものとして提示しないこと。これはオリジナルのクリーンルーム実装である。