unity3D で地対空ミサイル システムを作成し、時間 't' の後に着信ミサイルの位置を予測し、迎撃ミサイルの角度と位置を 3D 座標で設定して、着信ミサイルを攻撃できるようにしたいと考えています。次の関数を使用して、入ってくるミサイルの予測を取得しています。
void UpdateTrajectory(Vector3 initialPosition, Vector3 initialVelocity, Vector3 gravity)
{
int numSteps = 500;
float timeDelta = 1.0f / initialVelocity.magnitude;
LineRenderer lineRenderer = GetComponent<LineRenderer>();
lineRenderer.SetVertexCount(numSteps);
Vector3 position = initialPosition;
Vector3 velocity = initialVelocity;
for (int i = 0; i < numSteps; ++i)
{
lineRenderer.SetPosition(i, position);
position += velocity * timeDelta + 0.5f * gravity * timeDelta * timeDelta;
velocity += gravity * timeDelta;
}
}
視覚的な軌跡表示を取得するためにライン レンダラーを使用しています。今、私はいくつかの位置でしかミサイルを打つことができないので、手動で調整する必要があります. 私の SAM ミサイル システムは角度を適切に設定しましたが、正確な時間と速度を設定できないため、ミサイルに命中する可能性があります。