Unity 的现有的资料中,音频处理部分真是少得可怜,每走一步都感觉自己是先驱(虽然应该并不是)。
前几天一边学Unity 的基本知识,同时也扫荡了一下Unity 中与音频相关的API。我要做的事情是使用HRTF 对音频进行实时的处理,制造具有方位感的音频,之前提到过HRTF 本质上就是一个滤波器,主要的困难在于,这个滤波器是要进行实时的刷新的,在不同的时间点,这个滤波器是会变化的。
我的思路有两种,理想的办法是直接通过Unity 在不同的时候让声音经过不同的滤波器,这样比较省事,不需要操作播放器的底层。万一找不到有关的API ,就要使用比较坏的方法,手动对音频进行分帧,有必要的话还要对硬件开刀,这种方法我自己也不太有把握,走投无路的话,也得硬着头皮上了。
扫荡Unity docs 后的收获:
http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnAudioFilterRead.html
同时找到了一篇参考文章:
http://stackoverflow.com/questions/30654493/using-onaudiofilterread-with-playonawake
这是好可以写一个实时调整音量的小Demo 。
using UnityEngine;
using System.Collections;
//确认attach的物件包含AudioSource组件
[RequireComponent(typeof(AudioSource))]
public class Audi