Pre Spatializer Effect - Unity 和 Google VR 音频

Pre Spatializer Effect - Unity and Google VR Audio

我在 unity 中使用 GVR Audio 为我的音频源提供 HRTF,我的项目涉及模拟虚拟环境的声学,这需要在 HRTF 过滤器之前发生。

在默认的统一音频源上,有一个空间化 post 效果的选项,这意味着我可以在那里插入我自己的效果。但是在 GVR 音频源上没有这样的选项,推荐使用 GVR 空间化 post 效果的方法是什么?

GvrAudioSource 使用 Unity 的 AudioSource under the hood. This means, it is possible to apply pre-spatialization processing using the OnAudioFilterRead 方法 - 正如您通常在脚本中为音频源编写的那样。

或者,对于需要 spatializePostEffects 选项的其他音频效果组件,您可以通过脚本将下面的相应行添加到 Awake() 函数中来简单地启用该选项GvrAudioSource.cs:

void Awake () {
  ...
  audioSource.spatialBlend = 1.0f;
  audioSource.spatializePostEffects = true;  // Add this line.
  OnValidate();
  ...
}

另请注意,不幸的是,这目前不允许您在编辑器中添加 Unity 的库存 AudioEffect 组件(例如 AudioLowPassFilter),因为它会抱怨该游戏中缺少 AudioSource 组件目的。然而,这只是一个 UI 限制,即在 运行 时间内添加具有此类限制的组件仍应按预期工作。

希望这能回答您的问题。

干杯