音频调制概览

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

Windows
MacOS
Linux

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

该系统:

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

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

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

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

根类:音效调制器基础

所有调制类型均派生自 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

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见