Unityでプログラムを使ってオブジェクトを動かす方法の解説です。
オブジェクトを動かすコード
【Unityの使い方】C#スクリプトで使用したSphereに貼り付けたC#スクリプトファイルに
オブジェクトを動かすコードを書いていきます。
void Updateの{}の間にtransform.Translate(Vector3.forward);と入力します。
void Start | スタートした瞬間に一度だけ実行したいときに書く |
void Update | 1フレームごとに何度も実行したい時に書く |
Transformは位置や回転、大きさなどの情報です。インスペクターウィンドウから確認できます。

Translateは指示された方向にpositionを動かすという命令です。
ここの数値をプログラムで増やしてオブジェクトを移動させます。

()の中にはどのように動かすかということが書いてあります。
foword | zの数値を増やす |
back | zの数値を減らす |
left | Xの数値を減らす |
right | Xの数値を増やす |
up | Yの数値を増やす |
down | Yの数値を減らす |
今回はfowordと入力するのでSphereのzの数値が増えて前の方向に飛んでいきます。
using UnityEngine;
public class game : MonoBehaviour
{
void Start()
{
}
void Update()
{
transform.Translate(Vector3.forward);
}
}
再生ボタンを押すとこのように前方向にSphereが飛んでいきます。
Sphereのインスペクターウィンドウを見るとZの数値が1フレーム(大体0.02秒くらい)ごとに増えています。
()の中のfowordの部分を変更すると進む方向を変えることができます。
動く速度が速いので速度を遅くしたい場合はtransform.Translate(Vector3.forward * 0.5f);
と書くと速度を落とすことができます。
*このマークはアスタリスクといって掛け算を意味します。
小数点の0.5をかけることによって速度が0.5倍になります。
少数を書く時にはfを付けるという決まりがあるので0.5fと書きます。
using UnityEngine;
public class game : MonoBehaviour
{
void Start()
{
}
void Update()
{
transform.Translate(Vector3.forward *0.1f);
}
}
0.1をかけるとこんな感じに遅くすることができます。