Files
2026-10-11 20:26:48 +02:00

40 lines
1.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class VolumetricAudio : MonoBehaviour
{
// old ass "pingvin mod v2" code LOL
public float fully2DDistance = 2f;
public float fully3DDistance = 10f;
public AudioSource audioSource;
private void Awake()
{
if (audioSource == null)
audioSource = GetComponent<AudioSource>();
}
private void OnDrawGizmos()
{
Gizmos.color = new Color(1, 0, 0, 0.25f);
Gizmos.DrawWireSphere(this.transform.position, fully3DDistance);
Gizmos.color = new Color(0, 1, 0, 0.25f);
Gizmos.DrawWireSphere(this.transform.position, fully2DDistance);
Gizmos.color = Color.white;
}
void Update()
{
if (!Camera.main)
{
return;
}
float distance = Vector3.Distance(Camera.main.transform.position, transform.position);
//audioSource.spatialBlend = Mathf.Lerp(audioSource.spatialBlend, Mathf.InverseLerp(fully2DDistance, fully3DDistance, distance), Time.deltaTime * 10f);
audioSource.spatialBlend = Mathf.InverseLerp(fully2DDistance, fully3DDistance, distance);
}
}