Unity事例ノート

UNITY

オブジェクトの往復運動をつくる

Unityで敵キャラを設定する際には、障害物をひたすら前後に動かしたい場面が出てきます。

Vector3を使って、Z軸方向に繰り返し移動する方法を見ていきましょう。

関連記事:
【Unity C#】片方だけの伸縮をくり返す
【Unity C#】キャラクターを行ったり来たりさせる





往復運動のスクリプト

Cubeを1つ用意しました。

Cubeに、CubeMove.csを作成して追加しましょう。

CubeMove.csを書きます。

Vector3を使い、Z方向を動かしていきます。

カウンターが100を数えた時点で、moveに-1を掛けて後ろ方向へ移動し、カウンターを0に初期化。

また100に達したときに、-1を掛けて前方向へ移動。

void Update()の中に書くことで、これらの動きを繰り返し実行しています。

プレイしてみましょう。

ちなみに、Scratchでプログラム構造を見てみると、概ねこのような仕組みになります。

ScratchではZ軸は無いため、Yを使って動かしています。

0.1だとあまりに移動量が少ないですが、大きく動かしたいときはmove変数の値を変えましょう。

移動量の調整でmoveの変数を触るのは、Unityも同じですね。

関連記事:
【Unity C#】片方だけの伸縮をくり返す
【Unity C#】キャラクターを行ったり来たりさせる