Unity事例ノート

UNITY

斜め移動で速くならないようにする

十字キーで操作する際、斜めに移動したときだけ、少し速く動いてしまうことがあります。

横と縦の移動量をぞれぞれ1とすれば、斜めの移動量はおよそ1.4になります。

normalizedを使って、斜めのベクトル正規化し、1に変換する必要があります。

normalizedによる正規化

Cubeを作成し、リジッドボディを追加。

UseGravityのチェックを外しておきます。

CubeMove.csを作成し、Cubeに追加します。

CubeMove.csを記述します。

ゲームプレイしてみましょう。

十字キー操作で、斜め移動しても、上下移動と同じ速さになっています。

三平方の定理から、斜めのベクトルは√2。すなわち1.414…です。

Debug.Logでコンソールを見てみると、斜め移動のとき、XとYの値は3.5に。

5 ÷ 1.414… = 約3.5

よこ、たての移動量が5に対し、斜めは正規化された数値3.5で移動していることがわかります。

この記事の監修・専門指導

枚方市のプログラミング専門スクール
フタバゼミ 枚方くずは校

この記事で解説したUnityやC#の技術も、当校では直接個別指導しています。「むずかしいことをおもしろく」をモットーに、初心者から本格開発までサポート。樟葉駅から徒歩1分、まずはお気軽に体験会へお越しください。

SCHOOL教室案内