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 に答える