Unityで作る3D脱出ゲームの作り方を紹介している記事その24です。
僕が所属しているオンラインサロンの
先生である嶋津さんが作成された動画を
見ながら勉強した内容について、
「3D脱出ゲームの作り方」
としてまとめている記事になります。
その24となるこの記事では、
「カメラの回転をする方法」
についてお伝えしています。
参考となる動画はこちらです。
この動画で勉強すること
▶︎カメラの回転ボタンを押すと視点が切り替わる方法を学ぶ。
目標1
カメラを回転させる処理を作る。
=>C#スクリプトを作る。(CameraManager)
=>Hierarchyに空のオブジェクトを作る。(CameraManager)
=>CameraManagerにスクリプトをつける。
=>CameraManagerスクリプトにコードを書く。
目標2
カメラを切り替えるUIのPanelを作成する。
=>HierarchyにCanvasを作成する。
=>Canvasの中にPanelを作成する。
=>Panelの大きさを調整して、LeftPanelに名前を変更する。
=>LeftPanelにButtonをつける。
=>LeftPanelを複製してRightPanelに名前を変更する。
=>RightPanelを複製してBackPanelに名前を変更する。
=>LeftPanelとRightPanelのButton設定をする。
目標3
カメラのポジションを作成する。
=>空のオブジェクトを作成する。(CameraPositions)
=>CameraPositionsの中にSphereを作る。
=>Sphereの位置を調整してカメラのポジションを作る。
=>Sphereを複製して位置を調整し、別のカメラポジションを3つ作成する。
=>全てのSphereのコライダーを消す。
=>Sphereの子要素にCameraを作成する。
=>Cameraを確認しつつSphereの角度を調整して視点を決める。
=>次のSphereにCameraを移動して視点を決める。
=>同じようにして全てのSphereで視点を決める。
目標4
カメラポジションのエラーを修正する。
=>CameraManageスクリプトのコードを修正する。
CameraManagerスクリプトのコード
カメラの回転を行うために作成した
CameraManagerスクリプトの
コードは以下となります。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraManager : MonoBehaviour
{
// やりたいこと
//・カメラの回転:特定の位置に移動する
[SerializeField] Transform[] cameraPositions = default; // カメラのポジションを設定する
int currentIndex = 0;
void Start()
{
currentIndex = 0;
SetCameraPosition(currentIndex);
}
//右にカメラの視点を回転させる
public void TurnRight()
{
currentIndex++;
if(currentIndex >= cameraPositions.Length)
{
currentIndex = 0;
}
SetCameraPosition(currentIndex);
}
//左にカメラの視点を回転させる
public void TurnLeft()
{
currentIndex--;
if (currentIndex < 0)
{
currentIndex = cameraPositions.Length -1;
}
SetCameraPosition(currentIndex);
}
//カメラのポジションを変更する関数
void SetCameraPosition(int index)
{
Camera.main.transform.position = cameraPositions[index].position;
Camera.main.transform.rotation = cameraPositions[index].rotation;
}
}
カメラの回転で勉強したことのまとめ
3D脱出ゲームの作り方その24
「カメラの回転」で勉強した
内容についてのまとめです。
・カメラの回転を行うには、
まずカメラの視点を変更する
処理をC#スクリプトに書きます。
・そして、カメラを回転させる
パネルのUIを作成します。
・次にカメラのポジション(視点)を
4つ作成して見える範囲を設定します。
・そして最後にカメラのポジションを
変更する際のエラーを修正して完了です。
以上の作業を行なった後に
カメラを回転させるUIのPanelを
クリックすると、視点が順番に
切り替わるようになります。
「カメラの回転」の目標は以上で達成です!