Unityで物体を動かす
Unityで物体を動かすために、ゲーム内のオブジェクトを動かすプログラムを書きます
1. スクリプトの作成
プロジェクトウインドウを右クリック
CreateからC# Scriptを選択
2. スクリプトを開く
VSCodeなどのコードエディターを使用
3. プログラムを書く
実装したい内容
1. オブジェクトが今いる座標をデータとして取得する
2. そのデータを書き換える
3. 書き換えたデータをオブジェクトの座標に反映させる
サンプルコード
code:Sample.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sample : MonoBehaviour {
// Start is called before the first frame update
void Start(){
}
// Update is called once per frame
void Update(){
Vector3 v = transform.position;
v.x += 0.01f;
transform.position = v;
}
}
Updateメソッドは1フレームごとに毎回実行される
よくゲームで60fpsとか聞いたことがあると思う
これは1秒間に60回更新されるという意味
更新されるということは、その間に何か処理が行われて、もう一回画面を描写するということ
例えば回復薬を使ったら、次の画面では体力が回復して、回復薬が1個減っている状態の描写をする必要がある
Vector3 v
transform.position
オブジェクトの今いる場所の座標のこと
プログラミングの世界では前の変数.後の変数という書き方をすると、前の変数の中にある後の変数の情報をとってくることができる
Vector3 v = transform.position;
vに現在の座標データを入れますという意味
v.x
vという座標データの中のx座標のこと
0.01f
v.x += 0.01f;
vのx座標を0.01増やしますという意味
transform.position = v;
さっきxを0.01増やしたvという座標データを現在の座標に反映しますという意味
4. スクリプトをオブジェクトにアタッチする
プロジェクトウインドウにあるスクリプトを、ヒエラルキーにあるオブジェクトの名前にドラッグアンドドロップする
するとオブジェクトにスクリプトが搭載される
5. ゲームを再生する
シーンビューの上にある再生ボタンをクリック
するとオブジェクトが移動する!
もっと掘り下げた内容はこちら