
ども!カトサンラボのかとこうです。
この記事は、フラッピーバード風ゲームを
作る方法その7ということで、
「カメラの追従処理」
を作る方法について解説していきます!
▼ 動画での解説はこちら(54分10秒くらいから)
1、カメラ用のC#スクリプトを作ろう
まずはカメラ用のC#スクリプトを作っていきましょう。
プロジェクトウインドウを見ていきます。

プロジェクトウインドウの+ボタンを
クリックしてメニューを表示させましょう。

メニューが表示されました。

そうしたら、メニューの中から
「C# Script」
を選んでクリックします。

そうすることで新しいC#スクリプトが
プロジェクトウインドウに作られました。

名前が変更できるようになっているので、
「TrackingCamera」
という名前に変更して決定します。
これでカメラ用のC#スクリプトを
作る作業は完了です。

2、メインカメラにカメラ用のC#スクリプトをつけよう
次は、メインカメラにカメラ用の
C#スクリプトをつけていきましょう。
まずヒエラルキーでメインカメラをクリックします。

そしてインスペクターが表示されたら
プロジェクトウインドウにある
カメラ用のC#スクリプトをクリックしたまま
インスペクターへ動かしていきます。

インスペクターの下の方へ持って行ったら
クリックを離しましょう。

これでメインカメラにカメラ用の
C#スクリプトがつきました。

3、C#スクリプトにカメラが追従するコードを書こう
次はカメラ用のC#スクリプトにコードを書いていきます。
カメラ用のC#スクリプトをダブルクリックして
開きましょう。

コードエディタが立ち上がって
カメラ用のC#スクリプトの中身が
表示されました。
そうしたら、以下のコードを書いていきます。

using System.Colections;
using System.Colections.Generic;
using UnityEngine;
public class TrackingCamera : MonoBehaviour
{
public GameObject target; // 追いかけるターゲットを設定する
Vector3 trackingPosition; // 追いかけた先の位置を設定する
// Start is caled before the first frame update
void Start()
{
}
// Update is caled once per frame
void Update()
{
// 追いかけた先の位置の横軸にターゲットの横軸の位置を入れてあげる
trackingPosition.x = target.transform.position.x ;
// 追いかけた先の位置の縦軸にターゲットの縦軸の位置を入れてあげる
trackingPosition.y = target.transform.position.y;
// 追いかけた先の位置のz軸に-10を入れてあげる
trackingPosition.z = -10;
// メインカメラの位置に、追いかけた先の位置を入れてあげる
Camera.main.gameObject.transform.position = trackingPosition;
}
}
コードを書くことができたら
上のメニューからファイルを
選んでメニューを出します。

そして表示されたメニューから
「保存」
をクリックしてセーブしましょう。
これでコードを書く作業は完了です。

4、カメラが追従するターゲットを設定しよう
コードを書き終えたら次は、
カメラが追従するターゲットを
設定していきましょう
まずはヒエラルキーでメインカメラを
クリックしてインスペクターを表示させます。

そしてインスペクターの下の方にある
カメラ用のC#スクリプトの部分を見てみると、

「Target」という項目が追加されています。

このTargetにプレイヤーを設定したいので、
ヒエラルキーからプレイヤーをクリックしたまま
動かしていきます。

そしてTargetの部分に持って行ったら
クリックを離しましょう。

これでTargetという項目にPlayerが表示されました。
以上でターゲットの設定は完了となります。

5、テストプレイをしてカメラの追従を確認しよう
ここまで出来たらあとはテストプレイを
行ってカメラの動作を確認していきましょう。
シーンビューの上にあるプレイボタンを
クリックしてテストプレイを開始します。

テストプレイが開始されてプレイヤーが動くと
カメラが一緒に動き、常にプレイヤーを
真ん中に映した状態になります。

これが確認できたらOKです。
プレイボタンをクリックして
テストプレイを終了します。

6、まとめ
はい、ということで今回の記事では
フラッピーバード風ゲームのカメラの
追従処理を作成してきました。

カメラがプレイヤーを追いかけてくれないと
プレイヤーが移動した時に画面外に出てしまいます。
それが今回のカメラの追従処理を作ったことで、
改善されました。
ということで今回の作業は完了となります。
ここまで読んでいただきありがとうございました!