コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity 入門】【チュートリアル】玉転がしゲームを作る 3. カメラの移動

目次

前回のチュートリアル

はじめに

前回は、カーソルキーで玉を転がせるようにしました
今回は、カメラが玉に付いていくようにしていきます

カメラの位置の調整

f:id:baba_s:20171208112953p:plain

前回、玉が転がるようになりましたが、
現状のカメラだとシーン全体が見づらいので、カメラの位置と回転を調整します

f:id:baba_s:20171208113256p:plain

「Main Camera」を選択して、下記のように設定します

  • 「Position」(位置)の入力欄に左から順に「0」「10」「-10」と入力
  • 「Rotation」(回転)の入力欄に左から順に「45」「0」「0」と入力

f:id:baba_s:20171208113329p:plain

これでカメラが見下ろし視点になって見やすくなりました

カメラを動かすスクリプトの準備

次はカメラがプレイヤーに付いていくようにしてみます

f:id:baba_s:20171208113616p:plain

「Scripts」フォルダを右クリックして「Create>C# Script」を選択します

f:id:baba_s:20171208113850p:plain

そして、作成したスクリプトに
「CameraController」という名前を入力して Enter を押します

f:id:baba_s:20171208113943p:plain

これで、「CameraController」という名前のスクリプトが準備できました
この「CameraController」という名前のスクリプトに
カメラを動かすためのプログラムを記述していきます

カメラを動かすスクリプトの作成

f:id:baba_s:20171208114051p:plain

さきほど作成した「CameraController」をダブルクリックします

f:id:baba_s:20171208114128p:plain

すると、お使いの環境に合わせて Visual Studio や MonoDevelop などの、
プログラムを書くためのエディタが起動するので、
下記のプログラムをコピーして貼り付けます

using UnityEngine;
using System.Collections;

public class CameraController : MonoBehaviour
{
    public GameObject player; // 玉のオブジェクト

    private Vector3 offset; // 玉からカメラまでの距離

    void Start()
    {
        offset = transform.position - player.transform.position;
    }

    void LateUpdate()
    {
        transform.position = player.transform.position + offset;
    }
}

(今回はプログラムの解説は割愛させていただきます)

f:id:baba_s:20171208114238p:plain

上記のようにプログラムを貼り付けたら
Ctrl + S を押すなどしてスクリプトを保存します

f:id:baba_s:20171208114316p:plain

これで、カメラを動かすためのスクリプトの作成が完了したので Unity に戻ります

カメラを動かすスクリプトの反映

f:id:baba_s:20171208114800p:plain

さきほど作成した「CameraController」を「Main Camera」にドラッグして離します

f:id:baba_s:20171208114951p:plain

これで、「Main Camera」を選択すると
「CameraController」が反映されていることがわかります

f:id:baba_s:20171208115058p:plain

そして、カメラと玉を関連付けするために
「Player」を「Player」の欄にドラッグして離します

f:id:baba_s:20171208115254p:plain

これで、上記のように「Player」の欄に「Player」と表示されていれば
カメラと玉の関連付けが完了です

f:id:baba_s:20171208115609p:plain

これで、エディタ上部の再生ボタンを押してゲームを再生してみます

そして、カーソルキーを入力するとカメラが玉に付いていくことがわかります
これで、カメラを動かすことができるようになりました

f:id:baba_s:20171207224204p:plain

Unity メニューの「File>Save Scenes」を選択するか、
Ctrl + S を押して、ここまでの作業内容を保存しておきましょう

次回は、玉が床から落下しないように壁を作成していきます

次のチュートリアル

備考

この記事は上記のチュートリアルの翻訳になります