我在 Unity3D 中制作的 Unity3D 游戏中有一个鱼雷,我有一个从潜艇发射的鱼雷。我怎样才能让鱼雷像鱼雷一样开火(开始很慢),然后像电影一样获得大量动力并加快速度。
下面是我如何执行此操作的代码,但效果不是很好。
float torpedoSpeed = (0.00001f) * 155.2f;
//move
gameObject.transform.position += new Vector3(velocity, 0, 0) * 15.5f;
我在 Unity3D 中制作的 Unity3D 游戏中有一个鱼雷,我有一个从潜艇发射的鱼雷。我怎样才能让鱼雷像鱼雷一样开火(开始很慢),然后像电影一样获得大量动力并加快速度。
下面是我如何执行此操作的代码,但效果不是很好。
float torpedoSpeed = (0.00001f) * 155.2f;
//move
gameObject.transform.position += new Vector3(velocity, 0, 0) * 15.5f;
现代鱼雷实际上可以加速,因为它们是被推进的。因此,诀窍是加速鱼雷。
加速需要一个方向的力。您必须首先确定鱼雷的质量,这将允许您对其施加力以使其加速。
所以加速度是施加的力除以物体的质量。
话虽这么说,您可以通过简单地使用以下方式向 Unity 中的对象添加力:
gameObject.rigidbody.mass = 0.5;
gameObject.rigidbody.AddForce(100, 0, 0);
或者您可以添加一个恒定的力,使鱼雷始终保持加速。
gameObject.constantForce.relativeForce = Vector3(0, 0, 1);