UE5 音频共振特效制作
- 一、基础准备
- 二、创建共感NRT解析器和设置
-
- 1.解析器选择依据
- [2. 创建解析器](#2. 创建解析器)
- [3. 创建解析器设置(和2匹配)](#3. 创建解析器设置(和2匹配))
- 4.共感NRT解析器设置参数调整
- 5.为共感NRT解析器关联要解析的音频和相应设置
- 三、蓝图控制
- 四、发光材质
- 五、拓展&参考
效果预览
一、基础准备
1.插件准备
演示版本为5.1,默认开启音频共感 (Audio Synesthesia)插件,如果没有勾选请手动添加插件。
2.音源准备
将目标音频文件拖入资源文件夹中导入,推荐wav格式。
二、创建共感NRT解析器和设置
1.解析器选择依据
类别 | 描述 | 设置参数 | 说明 |
---|---|---|---|
LoudnessNRT | 测量音频的感知响度,类似于envelope跟随器或分贝计,考虑人类对音效的感知。 | AnalysisPeriod | 控制测量频率。 |
MinimumFrequency | 控制目标频率的下限,忽略某些内容时有用。 | ||
MaximumFrequency | 控制目标频率的上限,忽略某些内容时有用。 | ||
CurveType | 控制应利用的感知曲线,通常为高级设置。 | ||
NoiseFloorDb | 代表被视为静音的振幅。 | ||
ConstantQNRT | 测量音频中单个波段的强度,类似于声谱图,以感知意义整理波段。 | AnalysisPeriod | 控制测量频率。 |
StartingFrequency | 控制波段的起始频率。 | ||
NumBands | 控制波段的数量。 | ||
NumBandsPerOctave | 控制波段每八度的数量。 | ||
DownMixToMono | 指定应单独处理音频通道还是混合到单个通道中。 | ||
OnsetNRT | 探测音频起始事件,包括音符起始、敲击和爆炸,提供时间戳和强度。 | GranularityInSeconds | 决定各起始之间的最小间距。 |
Sensitivity | 设置探测到起始前的响度阈值。 | ||
MinimumFrequency | 控制查找起始的频率范围的下限,忽略某些内容时有用。 | ||
MaximumFrequency | 控制查找起始的频率范围的上限,忽略某些内容时有用。 | ||
DownMixToMono | 指定应单独处理音频通道还是混合到单个通道中。 |
PS:使用ConstantQNRT可以做出类似声谱图的效果,它的"获取时间处的标准化通道常量Q"节点返回一个响度的浮点数组,数组大小是该分析器对应的分析器设置里面的数字带宽。
2. 创建解析器
3. 创建解析器设置(和2匹配)
4.共感NRT解析器设置参数调整
噪音地面分贝参数:调节音源接收效率。
可以根据后期实现的效果调整接收效率以实现效果优化。
5.为共感NRT解析器关联要解析的音频和相应设置
三、蓝图控制
1.创建Actor及静态网格体
为空蓝图添加几个静态网格体组件和一个音频组件,静态网格体的底面要在z=0的位置,静态网格体分左右声道命名。
添加三个变量:
参数 | 类型 | 描述 |
---|---|---|
LoudnessNRT | 字符串 | 类型为响度NRT,并设置其默认值为之前创建的响度NRT资源。 |
Duration | 浮点 | 表示音频的持续时间。 |
Channel | 整型 | 用于选择音频的左右通道。 |
2.构造蓝图中设置音频组件和设置Duration默认值
3.创建一个新函数用于返回响度
OffsetSeconds用于输入一个时间偏移值,"部分"节点用于获取一个Double的小数部分,以避免返回值过大导致跳动效果不佳。
可以通过数值乘倍数修改,实现跳动高度的调节(示例为*3)。
4.在事件蓝图中播放音频并绑定控制网格体缩放的函数到音频播放的事件
1)事件提供一个所播放音频当前进度的百分比,乘总长度后就是当前播放时间。
2)将时间给之前创建的函数,并指定需要获取哪一个声道的响度相关参数(0和1分别代表左右声道)
3)设置不同时间偏移让方块不同步缩放。
四、发光材质
可以进一步根据需要设置不同的对象样式,例如设置发光材质
或者修改模型形状(例如改为圆柱形)
五、拓展&参考
1)《【虚幻5】UE_音频共感中文教学AudioSynesthesia》
2)官方文档
3)B站教程【UE/音频可视化】【P3】使用非实时频谱信息动态调节材质参数(Audio Synesthesia/ConstantQNRT/Primitive Data)】