Unityで作る3D脱出ゲームの作り方を紹介している記事その14です。
僕が所属しているオンラインサロンの
先生である嶋津さんが作成された動画を
見ながら勉強した内容について、
「3D脱出ゲームの作り方」
としてまとめている記事になります。
その14となるこの記事では、
「カメラの実装と回転をする方法」
についてお伝えしています。
参考となる動画はこちらです。
Udemyの場合は
セクション8
63.カメラの設置
64.カメラの回転
についての内容です。
この動画で勉強すること
▶︎カメラの実装と回転をして視点の変更をする処理を作成する。
目標1
カメラ実装の準備をする。
=>カメラを管理するオブジェクトを作る。(CameraManager)
=>カメラの視点切り替えを行うためのC#スクリプトを作る。(CameraManagerスクリプト)
目標2
カメラのポジションを作成する。
=>カメラのポジションをまとめるオブジェクトを作る。(CameraPositions)
=>カメラのポジションを設定するオブジェクトを作る(Position0〜3)
目標3
カメラのポジションを変更する処理を作る。
=>CameraManagerスクリプトにコードを書く。
目標4
カメラを回転させるためのパネルを作って設定する。
=>Canvasを作成して子要素にPanelを作る。
=>Panelの大きさを調整する。
=>Panelを複製して、2つのパネルにButtonをつける。
目標5
カメラのポジションを設定する。
=>それぞれのカメラのポジション(視点)を設定する。
CameraManagerスクリプトのコード
カメラの回転を行うために作成した
CameraManagerのコードは
以下となります。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraManager : MonoBehaviour
{
// カメラの切り替え
// どこにどのカメラを有効にするのか
// どこに
// ・mainの全体を回転するカメラ
// ・ズームしたときのカメラ
// 全体を回転するカメラのポジションを作成
[SerializeField] Transform[] mainCameraTransforms = default;
int currentMainPosition = default;
private void Start()
{
currentMainPosition = 0;
Camera.main.transform.position = mainCameraTransforms[currentMainPosition].position;
Camera.main.transform.rotation = mainCameraTransforms[currentMainPosition].rotation;
}
public void TurnLeft()
{
currentMainPosition--;
if(currentMainPosition < 0)
{
currentMainPosition = mainCameraTransforms.Length-1;
}
Camera.main.transform.position = mainCameraTransforms[currentMainPosition].position;
Camera.main.transform.rotation = mainCameraTransforms[currentMainPosition].rotation;
}
public void TurnRight()
{
currentMainPosition++;
if(currentMainPosition >= mainCameraTransforms.Length)
{
currentMainPosition = 0;
}
Camera.main.transform.position = mainCameraTransforms[currentMainPosition].position;
Camera.main.transform.rotation = mainCameraTransforms[currentMainPosition].rotation;
}
}
カメラの回転で勉強したことのまとめ
3D脱出ゲームの作り方その14
「カメラの回転」で勉強した
内容についてのまとめです。
・カメラの回転を行うには、
まずカメラを管理するための
オブジェクトを作成します。
・次にカメラの位置を決めるための
ポジションを作成し、
そのポジションを変更するための
コードを書くC#スクリプトを作成します。
・そのC#スクリプトにカメラの
ポジションを変更するための
コードを書きます。
・そしてカメラを回転させるための
パネルを作り、視点を切り替えたい
場所にカメラのポジションを設定します。
今回の内容を実践してPlayボタンで
実行すると、
カメラの視点を切り替えられるようになります。
以上で「カメラの回転」の目標は達成です!