音频调制概览

概述虚幻引擎中更灵活的音频调制方法。

Windows
MacOS
Linux

虚幻引擎(UE4)的 音频调制 系统是音频混合工具的集合,可提高设计者对蓝图系统和组件系统中常见音频参数的控制。

该系统:

  • 创建虚幻音频引擎的泛型、灵活的解耦混合系统。

  • 为试听和调试游戏音频混合建立一套更加强大的工具集。

  • 提供可轻松扩展和使用的API,用于对音频插件进行进一步调制。

必须激活 音频调制(Audio Modulation) 插件才能使用此功能。前往 编辑(Edit)> 插件(Plugins)> 音频(Audio),然后选中 音频调制(Audio Modulation) 进行启用。

启动音频调制插件后,将内容浏览器设置为 显示插件内容(Show Plugin Content)

ShowPluginContent.png

这能确保你在设置调制器参数时,插件的资产可用。

根类:音效调制器基础

所有调制类型均派生自 USoundModulatorBase。该类提供所有调制类型使用的基本生命周期机制,类似包括 控制总线控制总线混合总线调制器

根据参考音效实例是否正在尝试利用调制器,调制器的生命周期将由用户显式管理或自动激活。

显式管理 (通过激活或停用蓝图中支持的项)的好处在于,无论是否使用调制器,用户均可向调制器提供值,但此设置需要音效设计者执行更多工作。

此方式可能会带来帮助,比如无论音效是否要将总线值应用到控制类型(例如音量、LPF、HPF或音高),均将角色的能力连接到音频引擎。

若未手动激活,用户便不会太关注对象的生命周期管理,因此无法提供所需的初始条件。例如,无需持续计算总线调制器时此设置将十分有用。类似LFO的调制器可能仅在播放音效才需激活(因为不播放产生的音效时,LFO的输出不会造成显著的变化)。

所有调制类型默认自动激活。要强制停用总线调制器、总线或总线混合来维持其状态,用户可在蓝图显式中调用 DeactivateBusDeactivateBusMixDeactivateModulator。若调用了其中一项,或者 UObject 已损坏但音效仍在使用调制器时,代理对象的状态将被有效冻结并将继续存在,直到不再被引用或者直到该对象被重新激活。

资产类

点击查看全图。

总线将保存可用于计算引用音效对象参数的值。派生自 USoundControlBusBase 的四种基本控制总线类型由标准 AudioModulation 插件提供:

  • USoundVolumeControlBus

  • USoundPitchControlBus

  • USoundLPFControlBus

  • USoundHPFControlBus

各类型将提供总线行为,派生自 USoundBase 派生的其他类型(USoundWaves、`USoundCues`等)可订阅此线行为。

总线提供最基本的行为集合,用于以音频线程的更新速率修改该线程上的数值。其提供总线的默认值,以及可设置的总线值最小和最大边界。还可向总线应用调制器阵列,以提供自动化变体行为。

USoundControlMix

点击查看全图。

控制混合 包含通道阵列,可应用于各自总线,并在运行时动态应用。混合值 在提供的 启动时间 上线性应用,并在提供的 解除时间 上删除。

目前,可使用控制混合调制所有四种基本总线类型,未来还可调至更多类型。

基于总线类型计算混合。音量和音高总线是各增益级的积(乘法)。HPF总线采用所有应用混合的最低提供值,而LPF总线则采用其中最高值。

U音效调制设置

点击查看全图。

调制设置 定义硬件调制中的传统插线台。其是调制系统中最复杂也是最强大的类型。

USoundBaseUAudioComponentUSoundClass 类型可引用设置。对于各音效实例,利用退却结构决定使用的设置对象。若提供了 USoundBase 版本,则使用该版本。若未提供,则使用 UAudioComponent。若 UAudioComponent 未提供设置,则在运行时应用 USoundClass

各总线类型均有自身设置部分,并遵循相同基本流程。若未订阅总线,将应用 默认输入值。若已设置 采样并保留(Sample-And-Hold),其将在初始化音效后立即采样总线值,并在音效时长期间保留该值。

对于订阅的各活跃总线(忽略非活动总线),提供输入 转换(Transform) 域,以便将传入总线值从 最小/最大输入(Input Min/Max)(域)线性转换为 最小/最大输出(Output Min/Max)(范围)。

各订阅总线输出的转换值将混合,然后传送到应用了最终自定义"输出"曲线的输出部分。可应用自定义曲线或提供的一个表达式。下列提供曲线具有标量值作为示范:

U音效调制设置

绿色:指数—反向;紫色:指数—标量;橙色:正弦—S曲线;蓝色:正弦;红色:对数

混合 部分应用提供的 ControlBusMixes,而引用该设置的音效处于活跃状态,该音效同时引用了引用混合的其他设置。

根据自身中提供的设置,混合进行启动和解除。音效完成后将开始解除。

USoundBusModulatorBase/USoundBusModulatorLFO

USoundBusModulatorBase 是控制总线启用的所有调制器的基本类。

LFO调制器是测试版中可用的首例总线调制器。

点击查看全图。

LFO总线调制器可为下列基本形状之一:

点击查看全图。

各LFO形状遵守提供的 振幅(Amplitude)频率(Frequency)偏移(Offset)。是否启用 循环(Looping) 设置将决定周期函数是否循环。

蓝图API

(De)ActivateBus/BusMix/Modulator

利用此类调用可手动激活和停用 控制总线总线混合**和**调制器

更新调制器

要对 USoundModulatorBase 继承类型(例如 USoundControlBusUSoundControlBusMixUSoundBusModulatorLFO)的活跃对象进行变更,必须立即调用UpdateModulator来聆听更新。该调用将对象的变更提交到音频线程,以更新活动调制器的代理。对 USoundModulatorBase 实例所做的全部可应用变更都将反应在相应运行时实例中。

例如,若音量控制总线被 USoundBase 类型引用且处于活跃状态(未应用混合),更新默认值会立即将该总线提供的增益级更新到 USoundBase 实例。

CreateLPFBus/HPFBus/PitchBus/VolumeBus/BusMix/LFO

利用此类函数创建相应类型、设置默认值和提供立即激活选项将十分便利。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback