(Unity)バーチャルカメラとBGMの切り替え(ボス戦)

(方針)

  • OnTriggerEnterを使って、ボスのいるステージに入ったら、ボス戦用のバーチャルカメラとBGMに切り替える。


(スクリプト)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;

public class VSBoss_CamSoundChange : MonoBehaviour
{
    public GameObject cmVSBoss;
    public AudioClip[] sounds;
    private AudioSource audioSource;
    private bool isVSBoss = false;

    private void Start()
    {
        audioSource = GetComponent<AudioSource>();
        audioSource.clip = sounds[0];
        audioSource.Play();
    }

    private void OnTriggerEnter(Collider other)
    {
        if(other.CompareTag("Player") && !isVSBoss)
        {
            // BGMの変更
            audioSource.clip = sounds[1];
            audioSource.Play();

            // ボス戦用のVirtual Cameraに切り替え・・・>Priorityを上げる。
            cmVSBoss.GetComponent<CinemachineVirtualCamera>().Priority = 100;

            isVSBoss = true;
        }
        else if(other.CompareTag("Player") && isVSBoss)
        {
            audioSource.clip = sounds[0];
            audioSource.Play();

            // 移動用のVirtual Cameraに切り替え・・・>Priorityを下げる。
            cmVSBoss.GetComponent<CinemachineVirtualCamera>().Priority = 1;

            isVSBoss = false;
        }
    }
}