全部で4記事です。
【MRTK】HoloLens2 空間オーディオのチュートリアルのやり方 その1
【MRTK】HoloLens2 空間オーディオのチュートリアルのやり方 その2
【MRTK】HoloLens2 空間オーディオのチュートリアルのやり方 その3
【MRTK】HoloLens2 空間オーディオのチュートリアルのやり方 その4
前回
【MRTK】HoloLens2 空間オーディオのチュートリアルのやり方 その2
ボタンに立体音響の切り替え機能を追加
Project で右クリック Create > C#Script
名前を SpatializeOnOff に変更
下のコードを貼り付け、保存
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
[RequireComponent(typeof(AudioSource))]
public class SpatializeOnOff : MonoBehaviour
{
public GameObject ButtonTextObject;
//public AudioMixerGroup RoomEffectGroup;
//public AudioMixerGroup MasterGroup;
private AudioSource m_SourceObject;
private bool m_IsSpatialized;
private TMPro.TextMeshPro m_TextMeshPro;
public void Start()
{
m_SourceObject = gameObject.GetComponent<AudioSource>();
m_TextMeshPro = ButtonTextObject.GetComponent<TMPro.TextMeshPro>();
SetSpatialized();
}
public void SwapSpatialization()
{
if (m_IsSpatialized)
{
SetStereo();
}
else
{
SetSpatialized();
}
}
private void SetSpatialized()
{
m_IsSpatialized = true;
m_SourceObject.spatialBlend = 1;
m_TextMeshPro.SetText("Set Stereo");
//m_SourceObject.outputAudioMixerGroup = RoomEffectGroup;
}
private void SetStereo()
{
m_IsSpatialized = false;
m_SourceObject.spatialBlend = 0;
m_TextMeshPro.SetText("Set Spatialized");
//m_SourceObject.outputAudioMixerGroup = MasterGroup;
}
}
Quad に SpatializeOnOffコンポーネントを追加
Hierarchy > Quad > AddComponent("SpatializeOnOff")
SpatializeOnOff の Button Text Object に "PressableButtonHoloLens2" をセット
Hierarchy > PressableButtonHoloLens2 > Intractable を開く
Events OnClick() の+アイコンをクリックしてイベントを追加
追加したイベントのオブジェクトに Quad をセット
関数に SpatializeOnOff > SwapSpatialization() をセット