2017-01-28 5 views
0

イム...Unity3Dなぜ軸にSPEEDを掛けるのですか?ユニティでのプログラミングではかなり新しい

だから私の質問は次のとおりです。

あなたはスピードと

Input.GetAxis("VertOrHorz") * speed 

を掛けるのはなぜ。私は+ =または - =演算子で物事を移動するために使用されていたからです。

誰でも私に好意を持ってくれて、私に説明してください:)。予め

おかげ

ヤコブ

+0

これはチュートリアルのどこかで読んでいますか? 'Input.GetAxis()'はあなたに[-1、1]の範囲の値を与えます。スピードで乗算するだけでその大きさが変わるので、与えられたラインは[スピード、スピード]の範囲の数値を生成します。この新しい数値を使うと、 'Transform.Translate()'、 'Rigidbody.MovePosition()'などと組み合わせて使うことができます。なぜ作者がこれをしたのか、という明確な理由はありません。 – Serlite

答えて

3

Input.GetAxis機能は-1f1fから1fまたは0fに値を返します。この値の範囲は、オブジェクトを移動できない程度にはほとんどありません。

たとえば、Rigidbodyの値を0.5fに変更すると、Input.GetAxisから返された値は何もできません。

これを別の数字(speed)に掛ければ、実際にオブジェクトを移動するのに十分な大きさの数字を得ることができます。

あなたは1f1fまたは0f-1f間の数を必要とする何かをやっている場合は、はないは、他の数のInput.GetAxis関数から値を乗算する必要があります。

関連する問題