ue4 创建简单的声音系统

通常我们的音效系统中包含有  :

总音量

音乐音量

音效音量

人声音量

 

首先我们创建声音类(sound class)命名为 MainSoundClass,

这个是我们来控制所有的声音文件的。通常我们把它作为项目的Defalut Sound Class。设置在项目设置的Audio页签中。这样当我们导入 音效文件时,会自动把文件的SoundClass 设置为MainSoundClass

然后我们打开MainSoundClass,然后看到

从Children节点创建三个子类 分别命名为

MusicSoundClass

AudioSoundClass

VoiceSoundClass

再这里创建的子类会自动在MainSoundClass所在文件夹中创建。

然后我们创建一个混音,然后命名为SoundMix

这个是我们用来控制整个音效系统的混音,通常我们把它作为项目的Defalut Base Sound Mix。设置在项目设置的Audio页签中。 Defalut Base Sound Mix 在游戏中是默认激活的。不需要调用 Push Sound Mix Modifier

 

然后我们创建一个UMG,设置如下

进度条设置如下

 

然后每个进度条添加onVauleChanged 事件

然后创建SoundMix类型的对象引用, 命名为SoundMix, 默认值设置为我们创建的SoundMix

然后四个创建SoundClass类型的对象引用,分别命名为

MusicSoundClass

AudioSoundClass

VoiceSoundClass

默认值设置为我们创建的

MusicSoundClass

AudioSoundClass

VoiceSoundClass

然后蓝图中设置如下,(如果没有将SoundMix设置成Defalut Base Sound Mix, 则需要调用下面图中 橘色方框中的push Sound Mix Modifier 将混音激活)

 

然后导入 三个音效文件。

分别将三个音效文件的SoundClass 设置为我们创建的

AudioSoundClass

MusicSoundClass

VoiceSoundClass

并设置三个声音为looping

 

然后将三个声音文件拖动到世界中。

创建我们的UMG并加入到viewport。

 

运行游戏,就可以看到我们的效果了

 

 

下面是原理

声音类

声音类 是一个属性集合,这些属性可以应用于一系列声音资源

声音类中的属性可以用作现有值的乘数,并会被分配给声音类的所有声音资源执行

通过添加 子类 可以创建层级,子类使您可以仅将父类的指定属性传递给子类。您可以在 声音类编辑器 中将类连接起来,该编辑器与 Sound Cue编辑器类似,也使用基于节点的界面。

您还可以向声音类添加 被动混音(参阅下文 混音 部分),它会在声音类播放时自动开始并激活(例如,在播放对话声音类时,让音乐声音自动减小)。

 

混音

混音支持 EQ设置(均衡器设置),以及修改 音量 音高 声音类属性

多个混音可以同时激活,共同作用以形成最终音频效果。您可以在蓝图中,使用 推入混音修饰符(Push Sound Mix Modifier) 弹出混音修饰符(Pop Sound Mix Modifier) 节点,直接 推入(激活)或 弹出(停用)混音,或者在指定阈值中播放使用指定声音类的声音时,被动激活混音。

但是,如果您尝试在大量混音之间切换,则 推入/弹出 方法立刻就会变得非常复杂。这时候就应该使用 设置混音类覆盖(Set Sound Mix Class Override) 蓝图节点。它可以激活混音以使用您拥有的任意声音类,并随着时间的推移,在当前声音类和新的声音类之间进行插值。

然后,您可以使用 清除混音类覆盖(Clear Sound Mix Class Override) 让混音恢复为原始设置。

混音资源自身内部(在 内容浏览器 双击 该资源即可打开)有一些属性。 您可以为混音指定EQ设置来调节高、中和低频率以及增益。由于多个混音的EQ设置不能组合,因此 EQ优先级(EQ Priority) 使您可以控制任意给定时间应用哪个活动的混音属性。

在声音类部分中,您设置要受混音影响的声音类。对于每个声音类,可以设置 音量(Volume) 音高(Pitch) 调节器,设置混音设置是否应用于子类,或者修改 VoiceCenterChannelVolume

混音部分使您可以指定如何应用或移除混音属性。延迟(Delay) 表示开始应用混音属性之前的时间。淡入时间(Fade in Time) 淡出时间(Fade out Time) 指定从无效果到指定属性的过渡速度。时长(Duration) 允许推入的混音在经过指定时长后自动弹出。值-1表示永远不会自动弹出,被动应用的混音不会自动弹出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值