Menu
CoddyTech

毎フレーム動かす

CoddyのUnityジャーニー「Unityスクリプトの基礎」セクションの一部。レッスン 10/85。

Unityは描画するフレームごとにUpdate()を1回呼び出します。その中で位置を少し変えると、オブジェクトはフレームごとに少しずつ移動し、画面上では滑らかな動きに見えます。

位置に対する+=は、そこにVector3を加算します。x、y、zのそれぞれが対応する数だけ増加します。この風船はフレームごとに0.02単位上昇し、xとzの位置は変わりません。

void Update()
{
    transform.position += new Vector3(0, 0.02f, 0);
}

fはすでに知っているC#のfloatサフィックスです。Unityではfloatを使い、0.02だけだとdoubleになります。1秒あたり60フレームの場合、風船は毎秒0.02 x 60 = 1.2単位上昇します。

challenge icon

チャレンジ

簡単

赤い車を前進させましょう。

  1. Update()で、+=を使ってnew Vector3(0, 0, 0.05f)をtransform.positionに加えます。
  2. xとyは0のままにします。車はz方向にのみ移動します。

「プレイ」を押すと、車はカメラから遠ざかります。その後、「確認」を押します。

自分で試してみよう

using UnityEngine;

public class CarMover : MonoBehaviour
{
    void Update()
    {
        // ここで車をz軸に沿って前進させる
    }
}

Unityスクリプトの基礎のすべてのレッスン

自分で練習してみよう: Unityプレイグラウンド