预测目标 - 比喻错误

时间:2015-10-19 19:50:33

标签: c# unity3d game-physics

我正在开发塔防,所以我有一个射手塔在一个比喻中射箭。我已经有了计算从塔到任何点所需的比喻的方法。我在x和y中获得了敌人的速度和位置。当我需要做预测目标时,就会出现问题。

我使用以下方程来制作它并且我非常接近,因为它有时会起作用,但我不知道为什么它总是不起作用。

Ptarget impact = Ptarget now + t × vtarget
Pshot impact = Pplayer + t × vshot
Ptarget impact = Pshot impact
Ptarget now + t × vtarget = Pplayer + t × vshot
Ptarget now - Pplayer = t × vshot - t × vtarget
t × (vshot - vtarget) = Ptarget now - Pplayer
t = (Ptarget now - Pplayer) / (vshot - vtarget)
t = Δposition / Δvelocity
Ptarget impact = Ptarget now + (Δposition / Δvelocity) × vtarget

我认为问题在于vshot,因为我像这样移动箭头:

if(!objectiveOnFront)
{
    xPos = xPos - (Time.deltaTime*speed);
} else 
{
    xPos = xPos + (Time.deltaTime*speed);
}
transform.position = new Vector3(xPos, ParableY(xPos),transform.position.z);

所以,我不知道如何在x和y中表达vshot。

0 个答案:

没有答案