【Unity】Project TCC で遊ぼう~UC-02-04 Cinemachine 2D Control: サイドビュー視点のカメラを実装します~

UC-02-04 Cinemachine 2D Control Unity
UC-02-04 Cinemachine 2D Control

Unity の Project TCC を触って、Unity の機能を学んでいきましょう。

Project TCC で遊ぼう~UC-02-04 Cinemachine 2D Control: サイドビュー視点のカメラを実装します~

UC-02-04 Cinemachine 2D Control
UC-02-04 Cinemachine 2D Control

UC-02-04 Cinemachine 2D Control

変更点の確認

UC-02-04_Cinemachine_2D_Control シーンを開きます。
Unityエディター上で再生して、ユニティちゃんを動かしてみましょう。
サイドビュー視点のカメラの動きをしています。

UC-02-03_Cinemachine_TPS_Control シーンと違うところは、CM vcam オブジェクトの CinemachineVirtualCamera コンポーネントの Body に Framing Transposer が設定されています。
そして、VcamCollider_Low オブジェクトのコリジョンに入っている(しゃがんでいる)間は CM vcam_Low オブジェクトが有効になります。

シーンの複製

UC-02-03_Cinemachine_TPS_Control_Copy シーンを複製して、UC-02-04_Cinemachine_2D_Control_Copy という名前にします。

Level オブジェクトの複製

UC-02-04_Cinemachine_2D_Control_Copy シーンの Level オブジェクト(および、その子オブジェクト)を削除します。
UC-02-04_Cinemachine_2D_Control シーンの Level オブジェクトをコピー(Ctrl + C)して、UC-02-04_Cinemachine_2D_Control_Copy シーンに貼り付け(Ctrl + V)ます。

Player オブジェクトの複製

UC-02-04_Cinemachine_2D_Control_Copy シーンの Player オブジェクト(および、その子オブジェクト)を削除します。
UC-02-04_Cinemachine_2D_Control シーンの Player オブジェクトをコピー(Ctrl + C)して、UC-02-04_Cinemachine_2D_Control_Copy シーンに貼り付け(Ctrl + V)ます。

Virtual Camera オブジェクトの設定

Virtual Camera オブジェクトの Transform コンポーネントの Rotation Y に -180 を設定します。
CinemachineVirtualCamera コンポーネントの Follow に Player オブジェクトを設定します。
CinemachineVirtualCamera コンポーネントの LookAt に None を設定します。
CinemachineVirtualCamera コンポーネントの Lens を調整します。

CinemachineVirtualCamera の設定
CinemachineVirtualCamera の設定

CinemachineVirtualCamera コンポーネントの Body に Framing Transposer を設定します。

Body の設定
Body の設定

Virtual Camera_Low オブジェクトの設定

Virtual Camera_Aim オブジェクトの名前を Virtual Camera_Low に変更します。
Virtual Camera_Low オブジェクトの Transform コンポーネントの Rotation Y に -180 を設定します。
CinemachineVirtualCamera コンポーネントの Follow に Player オブジェクトを設定します。
CinemachineVirtualCamera コンポーネントの LookAt に None を設定します。
CinemachineVirtualCamera コンポーネントの Lens を調整します。

CinemachineVirtualCamera の設定
CinemachineVirtualCamera の設定

CinemachineVirtualCamera コンポーネントの Body に Framing Transposer を設定します。

Body の設定
Body の設定

MyPlayer_02_04 スクリプトの作成

MyPlayer_02_04 スクリプトを新規作成します。
Player オブジェクトに MyPlayer_02_04 スクリプトを追加します。
MyPlayer_02_04 スクリプトの内容はこちらになります。

using UnityEngine;

public class MyPlayer_02_04 : MonoBehaviour {
    [SerializeField] private GameObject m_rVirtualCamera;
    [SerializeField] private GameObject m_rVirtualCameraLow;

    private void OnTriggerEnter(Collider other) {
        if (other.gameObject.name == "VcamCollider_Low") {
            m_rVirtualCamera.SetActive(false);
            m_rVirtualCameraLow.SetActive(true);
        }
    }

    private void OnTriggerExit(Collider other) {
        if (other.gameObject.name == "VcamCollider_Low") {
            m_rVirtualCamera.SetActive(true);
            m_rVirtualCameraLow.SetActive(false);
        }
    }
}

動作確認

Unityエディターで再生して、動作確認します。
ユニティちゃんを動かすと、サイドビュー視点のカメラの動きをします。

まとめ

Project TCC で、サイドビュー視点のカメラを操作できるようにしました。
Cinemachine を使用すると、いろいろな種類のゲームを作成することができます。

コメント

タイトルとURLをコピーしました