2

我在 Unity3D 中制作的 Unity3D 游戏中有一个鱼雷,我有一个从潜艇发射的鱼雷。我怎样才能让鱼雷像鱼雷一样开火(开始很慢),然后像电影一样获得大量动力并加快速度。

下面是我如何执行此操作的代码,但效果不是很好。

    float torpedoSpeed = (0.00001f) * 155.2f;

   //move
    gameObject.transform.position += new Vector3(velocity, 0, 0) * 15.5f;
4

1 回答 1

6

现代鱼雷实际上可以加速,因为它们是被推进的。因此,诀窍是加速鱼雷。

加速需要一个方向的力。您必须首先确定鱼雷的质量,这将允许您对其施加力以使其加速。

在此处输入图像描述

所以加速度是施加的力除以物体的质量。


话虽这么说,您可以通过简单地使用以下方式向 Unity 中的对象添加力:

gameObject.rigidbody.mass = 0.5;

gameObject.rigidbody.AddForce(100, 0, 0);

或者您可以添加一个恒定的力,使鱼雷始终保持加速。

gameObject.constantForce.relativeForce = Vector3(0, 0, 1);
于 2014-11-27T10:33:05.080 回答