混音器是一种可由音频源 (AudioSource) 引用的资源,能够对通过音频源生成的音频信号进行更复杂的线路规划和混音。这一类混音是通过用户在资源内部构造的音频组层级视图来完成的。
DSP 效果和其他音频母带制作概念可应用于音频信号,因为音频信号是从音频源路由到音频监听器 (AudioListener)。
http://en.wikipedia.org/wiki/Audio_mixing
音频路线规划是指获取一定数量的输入音频信号并输出 1 个或多个输出信号的过程。这里的“信号”一词指的是连续的数字音频数据流,可以分解为数字音频声道(比如立体声或 5.1(6 声道))。
在内部通常会对这些信号进行一些处理工作,例如混音、应用效果、衰减等。由于各种原因(后面会讲到),这是音频处理的一个重要方面,这也是混音器的设计用途。
除了“发送”(Sends) 和“返回”(Returns)(后面会讲到)之外,混音器还包含音频组,音频组允许任何数量的输入信号,混合这些信号,并且只有 1 路输出。
在音频处理领域,这种路线和混音通常在与场景图形层级视图正交的情况下完成,因为音频的行为以及设计者与音频的交互方式与场景中显示的对象和概念非常不同。
在以前版本的 Unity 中,不存在路线和混音的概念。用户以前可以将音频源放置在场景中,并且音频源产生的音频信号(例如通过音频剪辑)被直接添加到音频监听器,所有音频信号在一个点上混合起来。此处需要注意的是,这些操作与场景图正交进行,无论音频源在场景中的什么地方。
混音器现在位于音频信号处理空间中的音频源和音频监听器之间,可以从音频源获取输出信号,执行期望的任何路线和混音操作,直到最终所有音频都输出到音频监听器并从扬声器中听到。
通过混音和路线,可以将游戏中的音频分类为所有需求的类型。一旦将声音混合到这些类别中,效果和其他操作就可以作为一个整体应用于这些类别。这一功能很强大,不仅可以将游戏逻辑更改应用于各种声音类别,而且还允许设计人员调整混音的各个方面以便在运行时对整个音景动态地执行所谓的“母带制作”(Mastering)。
某些声音概念与场景图和 3D 世界有关。其中最明显的是基于 3D 距离、与音频监听器的相对速度和环境混响效果进行的衰减应用。
由于这些操作与场景有关,而与混音器中的声音类别无关,因此在信号进入混音器之前,效果将应用于音频源。例如,基于音频源与音频监听器的距离应用于音频源的衰减将在信号离开音频源之前应用于信号,并被路由到混音器。
如上所述,混音器允许有效地对声音类型进行分类并对这些类别执行操作。这是一个重要的概念,因为如果没有这样的分类,整个声景很快变成一堆难以区分的噪音,因为每个声音都是平等地播放,而没有对它们应用混音。借助诸如闪避之类的概念,声音类别也可以相互影响,为混音增加额外的丰富性。
例如,设计人员可能希望对类别执行以下操作:
这些类别实际上与游戏紧密相关,并且在不同的项目之间有所不同,但这种分类可以借鉴如下所述的方式:
此布局的类别层级视图如下所示:
请注意,场景图布局看起来与声音类别的布局完全不同。
游戏声音的混音和路由也可用于创建设计师所寻找的沉浸感。例如,可以将混响应用于所有游戏声音,并使音乐衰减以产生身处洞穴中的感觉。
混音器可以有效地用于在游戏中营造情绪。通过在游戏中使用快照(后面会介绍)和其他不同混音器等概念,游戏可以轻松转换其情绪并使玩家感受到设计师所期望的感受,这在游戏的沉浸体验中是超级强大的。
混音器用于控制游戏中所有声音的总体混音。这些混音器将控制全局混音,可视为路由声音实例的静态单声道混音。
In other words, the AudioMixers are always present through the lifetime of a scene, and sound instances are created and destroyed as the game progresses and play through these global AudioMixers.
快照可以捕获混音器的状态,并随着游戏的进行在这些不同的状态之间转换。要定义混音的情绪或主题,并随着玩家在游戏中的进展而改变这些情绪,这是一种很棒的方法。
快照可捕获混音器中所有参数的值:
要改变音景的多个方面,一种很棒方法是将快照与游戏逻辑相结合。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.