私は、プレーヤーが指で船をドラッグするゲームを作っています。私は、ゲームの物理的側面にBox2Dを使用しています。特に、私はb2MouseJoint
を使ってタッチイベントをボートに付けて、タッチイベントがボートをドラッグさせるようにしています。Box2Dでの耐水性のシミュレーション
しかし、ドラッグされている間にボートの動きが現実的ではないという問題が1つあります。現実世界ではボートがその長さに沿ってのみ動くことができ、耐水性があり船の動きの方向を変えることが困難になるあらゆる方向にドラッグすることができます。したがって、ボートの動きをリアルにするために耐水性をシミュレートする方法が必要です。
Box2Dでシミュレーションすることはできますか?リニアダンピングと角度ダンピングは単にボートを動きにくくするだけですが、私はボートを一方向に移動しやすく、方向の変更に抵抗する必要があります。
P.S.私はこの質問のために自分のコードを投稿する必要はないと思いますが、コードの抜粋を見たいかどうかを教えてください。
[ドラッグ式](http://en.wikipedia.org/wiki/Drag_equation)を試したことがありますか?横断面積項* A *は、ボートの速度に対する相対的な向きに応じて変わります。そして、あなたはいつも安いヒューリスティックで* A *を見積もることができます。 – Rahul
@Rahul、ヒントのおかげで。私はいくつかの近似技術を使ってコードに抗力方程式を追加しました。(速度と艇の角度を参考にしてください)、最新のコードでシミュレートされた耐水性がいくつか見えますが、いくつかの狂った動きがあります。ボートは世界の国境に衝突します。私はここでさらに助けを求める前に、何が間違っているのかを理解しようとしています。再び、ヒントのおかげで。 – Lukman
クイックな回避策は、ボートの周りのスペースを埋めるために小さな質量の非常に小さな円形のボディをたくさん作成することです。私は、これが物理的または処理能力(まだ)の面でこれの実行可能性をテストしていないため、私はそれを適切な答えとして提出していません。 – Andrey