Posted at

Unity3D-簡単なゲームを作りながら学ぼう⑥

More than 3 years have passed since last update.


今回はカメラを設定して飛行機が動く時に一緒に動くようにします。


まずはカメラのプロパティを設定します

カメラを選択してプロパティを見ましょう。最初はProjection値がPespectiveで設定されています。これをOrthographicに設定します。これでSize変更にカメラの調整ができます。カメラPreviewで確認しながら調整します。


51.PNG


次はカメラにスクリプトを追加します。

moveCameraの名前でスクリプトを追加します。カメラのプロパティに追加されたので修正してみます。


52.PNG


コード


public class moveCamera : MonoBehaviour {

GameObject player;
Vector3 offset;

// Use this for initialization
void Start () {
//飛行機にタグを「Plane」と言う名前で追加したのでこれで参照できます。
player = GameObject.FindGameObjectWithTag("Player");
//飛行機の最初位置情報から現在カメラの位置情報の差を保存します。
offset = player.transform.position - transform.position;
}

// Update is called once per frame
void Update () {

}

void LateUpdate()
{
//飛行機が移動すれば、最初保存した差の分カメラを移動されます
transform.position = player.transform.position - offset;
}
}


これで飛行機が移動したら地形も飛行機と合わせて動くようになります。

ここで注意することは「GameObject.FindGameObjectWithTag("Player");」このコードがタグからオブジェクトを探しているので飛行機のTagがPlayerに設定しないといけないです。


以下の画面のTagに「Player」が選択されているかを確認しましょう。

53.PNG



Playerとカメラの設定前の飛行機の動き

before.gif


スクリプト追加後の動き

after.gif