MDM_SoundReact
Namespace: MDPackage.Modifiers
Simple sound reaction modifier - add another modifier to sync with the audio data.
Read more here (Online documentation slide)
Public Methods
public void SoundReact_Start()
public void SoundReact_Stop()
public float SoundReact_GetAudioOutpudData()
Public Fields and Properties
public AudioSource targetAudioSrc;
public SampleDataLength sampleDataLength = SampleDataLength.x1024;
public float transitionSmoothness = 128.0f;
public float multiplication = 2.0f;
public float minimumOutputValue = 0.0f;
public float maximumOutputValue = 10.0f;
public float updateInterval = 0.01f;
public float OutputData { get; }
public UnityEvent outputEvent;
public event Action<float> outputActionEvent;
Examples
The following paragraphs contain Sound React modifier used in a practical example - make the target gameObject's scale change according to the sound react output data.
using UnityEngine;
using MDPackage.Modifiers;
public class SampleScript : MonoBehaviour
{
public AudioClip clip;
public GameObject targetObject;
private MDM_SoundReact sound;
private void Start()
{
sound = gameObject.AddComponent<MDM_SoundReact>();
sound.targetAudioSrc = gameObject.AddComponent<AudioSource>();
sound.targetAudioSrc.clip = clip;
sound.targetAudioSrc.Play();
sound.outputActionEvent += RefreshData;
sound.SoundReact_Start();
}
private void OnDestroy()
{
sound.outputActionEvent -= RefreshData;
}
private void RefreshData(float outputData)
{
targetObject.transform.localScale = Vector3.one * outputData;
}
}