unity根据音频爆发生成敌人

本文关键字:敌人 爆发 音频 unity | 更新日期: 2023-09-27 17:49:24

我尝试着创造一个刷出系统,让敌人根据音乐爆发而刷出。例如,当轻柔的音乐播放时,敌人刷出缓慢,当动作部分出现时,敌人刷出更快。

我真的不擅长音频的东西,所以我只有这个非常通用的代码,我试图理解它到底是如何工作的

Thanks in advance

using UnityEngine;
using System.Collections;
public class AudioVisualiser : MonoBehaviour {
private float[] m_spectrumData;
private int m_bufferSize = 1024;
// used for color animation
public Gradient g_gradient;
// Use this for initialization
void Start () {
    m_spectrumData = new float[m_bufferSize];
}
// Update is called once per frame
void Update () {
    GetComponent<AudioSource>().GetOutputData ( m_spectrumData , 0 );
    for ( int i = 0 ; i < m_bufferSize; i++)
    {
        float x = i * 0.2f;
        float y =  m_spectrumData[i] * 10.0f;
        Debug.DrawLine (new Vector3 ( x ,0,0), new Vector3 (x,y , 0), g_gradient.Evaluate((float)i/m_bufferSize));
    }
}
}

unity根据音频爆发生成敌人

最简单(也可能是最好)的方法是在音乐中设置代表高动作点的点。这将使您能够控制并避免您不想要的意外生成。