Unity如何使GameObject Speed获得速度

时间:2014-11-27 09:20:44

标签: c# unity3d gameobject

我在Unity3D游戏中有一个Torpedo,我在Unity3D中制作了一个Torpedo火焰。如何使鱼雷像鱼雷一样开火(开始真的很慢),然后获得很多动力并加速,就像在电影中一样。

下面是我如何做这个的代码,但它不能很好地工作。

    float torpedoSpeed = (0.00001f) * 155.2f;

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

1 个答案:

答案 0 :(得分:6)

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

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

enter image description here

因此加速度是应用的力除以物体的质量。


话虽这么说,你可以通过简单地使用:

为Unity中的对象添加力量
gameObject.rigidbody.mass = 0.5;

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

或者你可以添加一个恒定的力量来保持鱼雷始终加速。

gameObject.constantForce.relativeForce = Vector3(0, 0, 1);