ImmersiveAudioとは
Immersiveというのは、「没入感」という意味です。
つまり「イマーシブ オーディオ」とは「没入感の高いオーディオ」という意味になります。
一般的には、たくさんのスピーカーを配置したり、ヘッドフォンでの再生でも特殊な処理を行うことにより、360度、全方位から音が聞こえるコンテンツを「イマーシブ オーディオ」と呼んでいます。「立体音響」「3Dサラウンド」「Spacial Audio」など様々な呼び名がありますが、基本的に全て同義語と考えて間違いありません。
> https://biz.musicecosystems.jp/blog/what-is-immersive/
using UnityEngine;
[RequireComponent(typeof(AudioSource))]
public class AudioDistanceControl : MonoBehaviour
{
public AudioSource audioSource;
public Transform listenerTransform;
public float maxDistance = 10f;
public float minDistance = 1f;
[Range(0f, 1f)] public float maxVolume = 1f;
void Update()
{
float distance = Vector3.Distance(listenerTransform.position, transform.position);
if (distance < minDistance)
{
audioSource.volume = maxVolume;
}
else
{
audioSource.volume = maxVolume - Mathf.Clamp01((distance - minDistance) / (maxDistance - minDistance)) * maxVolume;
}
if (!audioSource.isPlaying && audioSource.volume > 0)
{
audioSource.Play();
}
}
// ギズモを使用して最小距離と最大距離をエディタに表示
void OnDrawGizmos()
{
// 最小距離を示すギズモ(青色)
Gizmos.color = Color.blue;
Gizmos.DrawWireSphere(transform.position, minDistance);
// 最大距離を示すギズモ(赤色)
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(transform.position, maxDistance);
}
}