Unity如何使GameObject Speed获得速度

Mon*_*r92 2 c# unity-game-engine gameobject

我在Unity3D游戏中有一个Torpedo,我在Unity3D中制作了一个Torpedo,它有一个子弹的Torpedo火.我怎么能让鱼雷像鱼雷一样开火(开始真的很慢)然后获得很多动力和加速,就像在电影中一样.

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

    float torpedoSpeed = (0.00001f) * 155.2f;

   //move
    gameObject.transform.position += new Vector3(velocity, 0, 0) * 15.5f;
Run Code Online (Sandbox Code Playgroud)

Fun*_*onR 6

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

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

在此输入图像描述

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


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

gameObject.rigidbody.mass = 0.5;

gameObject.rigidbody.AddForce(100, 0, 0);
Run Code Online (Sandbox Code Playgroud)

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

gameObject.constantForce.relativeForce = Vector3(0, 0, 1);
Run Code Online (Sandbox Code Playgroud)