たとえば、Peggle や Apple Jack では、発射体の発射をユーザーが要求する前に、ユーザーはボール (または洗濯機/パンダなど) が移動しようとしている場所を示す曲線の周りを移動できます。ポイントをプロットするために方程式を使用する必要があることはわかっていますが、私は数学者ではありません (もう :()。誰か親切で正しい方程式を教えてくれませんか。特定の時間と初期速度が与えられた Y 値。
4 に答える
この質問に対する私の回答を見てください。
その答えから、使用する必要がある式は次のとおりです。
s = s₀ + v₀t + ½at²
(変位とは、初期変位に初期速度を加えたものに時間をかけ、加速度の半分に時間の 2 乗をかけたものに等しい)。
時間以外のすべてにベクトルがあります (加速度は下向きの重力になります)。X軸とY軸の両方でその方程式を使用するだけです。
もちろん、プロットされたパスが予測方程式と正確に一致することを保証する唯一の方法は、それらが同じである場合です。それが、バウンス予測のサポートを追加する唯一の方法だと思います。
実際のゲームで別のもの (完全な物理シミュレーターなど) を使用し、バウンスを予測する必要がなく、完全に正確である必要がない場合、これにより予測に適した近似値が得られます。
シミュレーションはおそらく最も簡単な方法です。指定されたプロパティを持つダミー オブジェクトを作成し、ループを作成して力を適用し、位置を配列に出力してから表示します。たとえば、位置の間に線を引くか、描画します。各位置での発射体の「ゴースト」。
シミュレーションの利点は、位置を記録する頻度を変更することで、速度と精度のバランスを制御できることです。
これが単純な弾道軌道をたどる発射体である場合は、ここで提供される閉じた形式の式を使用できます。
http://en.wikipedia.org/wiki/Trajectory_of_a_projectile
そうでない場合は、(小さな) 時間ステップごとにボディにかかるすべての力の影響をシミュレートし、それに応じて位置と速度を更新する方がはるかに簡単かもしれません。この手法はより堅牢です。基本的な方法論を変更することなく、問題をさらに複雑にすることができます。
ニュートンの近似法を使用できます。解決します。ここでの問題は、統合する必要があることです。そのため、精度と計算時間の間のトレードオフを定義する必要があります。
RK4は、私の意見では最良の方法です。高速でありながら非常に正確です。
詳細については、 http: //gafferongames.com/game-physics/integration-basics/を参照してください。