【发布时间】:2016-10-27 22:25:42
【问题描述】:
我正在尝试创建一个生成系统,让敌人根据音乐爆发生成。例如,当播放柔和的音乐时,敌人会慢慢生成,而当动作部分出现时,敌人会加快生成速度。
我真的不擅长音频的东西,所以我只有这个非常通用的代码,我试图了解它是如何工作的
提前致谢
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));
}
}
}
【问题讨论】:
-
仅供参考,有一个或多个优秀的资产商店包可以做到这一点。
-
我试图搜索但找不到任何东西:/如果你知道的话,你能说出它的名字吗?
-
该死 - 我找不到“好”... assetstore.unity3d.com/en/#!/content/19020 .. 和 .. assetstore.unity3d.com/en/#!/content/15679 .. 和 .. assetstore.unity3d.com/en/#!/content/30467 呢
-
也许点击“脚本”(在右栏),然后添加音频、节拍、音乐等术语……我现在感觉很糟糕,我不记得那个“著名”的在那里......会继续寻找!