2Dゲームを作っています。現在、プレイヤーが操縦するヘリコプターが飛び回っています。矢印キーを使用して制御されます:上、左、右。
Y軸に沿った速度はdy
、X軸に沿った速度はdx
です。
物理は次のとおりです。
たびUPが押されていない、dy
、一定の加速度で加速し、無期限にダウンに向けました。(重力)。dx
現在の値のままです。
場合UPが押され、dy
それが現在、あるものは何でもから一定の加速度で加速4まで(それは速度4に達するまで、上向きに)。dx
現在の値のままです。
場合LEFTが押され、dx
それが現在、ある何から、一定の加速度で加速-4まで。
場合RIGHTが押され、それが現在、ある何から、一定の加速度で加速DX、4まで。
(私が言ったように、左または右が押され、同時に上が押されていない場合:dy
重力がヘリコプターに影響しているため、ますます小さくなります)
これにより、ヘリコプターは直線ではなく、空中のアーチに追従することがよくあります。
これにより、非常に現実的な物理が作成されます。
私の質問は:
AIである敵のヘリコプターも同じ物理システムを使用して移動する必要があります。
AIが現在の場所からポイントBに移動したいとします。
ゲームに重力も緩やかな加速もなければ、それは簡単でしょう。AIの位置からポイントBまでのベクトルを描き、AIにそれを追跡させるだけです。
以来、しかし、そこにある重力と徐々に加速、AIは直線的に移動することはできません(ほとんど)。可能な限り時間効率的にAIをポイントBに移動させる最良の方法は何でしょうか?
AIを特定の目的地に向けて移動するときに、重力をどのように考慮することができますか?
(説明しやすい場合は、B点がAIと対角線ではなく、AIと同じy軸上のレベルにあると考えてください。)
ありがとう