毎フレーム動かす
CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 3/67。
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 単位上昇します。
チャレンジ
簡単赤い車を前進させます。Update()で、毎フレームz軸に沿って0.05単位移動させます。x軸やy軸には移動させないでください。
Playを押して動きを確認し、その後Checkを押してください。
自分で試してみよう
using UnityEngine;
public class CarMover : MonoBehaviour
{
void Update()
{
// ここで車を z 軸に沿って前進させる
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。