【Godot4自学手册】第三十八节给游戏添加音效

本文介绍了如何在Godot游戏开发中添加音效,包括音频总线的概念、Godot的音频处理机制、如何设置AudioStreamPlayer节点以及如何在特定场景中播放音效。特别强调了音频总线的重要性以及如何避免失真问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,我的主要任务就是给游戏添加音效。在添加音效前,我们需要了解一个东西:音频总线。这个东西或许有些枯燥,如果你只为添加一个音效没必要了解太多,但如果你以后将要经常与音频播放打交道,还是要了解一下的。

一. 音频总线

音频总线(也称音频通道)是音频从扬声器播放出来之前通过的地方,你可以在Godot编辑器的底部面板中找到它。Godot的音频处理代码是为了游戏而写的, 以达到性能和音质之间的最佳平衡。Godot的音频引擎允许创建任意数量的音频总线, 并且可以向每个总线添加任意数量的效果处理器. 运行游戏的设备的硬件会限制总线的数量, 以及在性能开始下降之前可以使用的效果。音频总线有一个VU表(音频播放时亮起的条形),表示通过的声音信号的大小。
请添加图片描述

最左边的总线是主总线,它负责将混音输出到你的扬声器,注意:主总线中混音水平的音频分贝(dB)应永远低于 0 dB,否则会产生一种叫做“削波”的失真。这是声音硬件的限制,并不是人为规定的。其余的音频总线可以灵活地进行路由. 在修改声音后, 它们会将其发送到左边的另一条总线上. 非主总线的目标总线可以被单独设置. 而右侧总线的音频会被路由至左侧总线, 这避免了无限循环。
请添加图片描述
在上图中, Bus 2 的输出被路由到了 总线.
godot为我们内置了一些音频特效,我们可以直接添加特效,在音频总线
的下方有个添加特效按钮,单击选择即可。
请添加图片描述

音频总线可以包含各种效果. 这些效果以某种方式修改声音并按顺序应用,有关每种效果效果的作用的信息,请参见Godot官方的 音频特效

二、添加音效

我们以给主人公的挥剑动作添加上音效为例,来完成音效的操作。
第一步首先进入Player场景,然后单击添加子节点按钮,在创建节点对话框中选择AudioSteamPlayer节点,重命名为Audio。
请添加图片描述

这里注意,如果你需要按照节点坐标在不同声道发出声音,做出实时环绕的效果,那就用AudioStreamPlayer2D或AudioStreamPlayer3D节点。
第二步将准备好的音效素材拖到Godot的文件面板中,再将其拖拽到检查器中AudioStreamPlayer节点的Stream属性里。
请添加图片描述

完成之后,可以修改下面的属性来将音频调到合适状态。以下是该节点主要的属性及其功能,不过挥剑音效,我们不需要进行任何设置:

Bus属性:设置播放这段音频的总线
Playing属性:可以令它播放音频
Autoplay属性:令其在加入场景树(该场景开始运行)的时候自动开始播放音 
频
StreamPaused属性:可以令其暂停播放音频,关闭该属性后继续播放
MixTarget属性:设置音频在哪个声道播放,有三个属性,分别表示:在第一个
通道播放,在所有通道播放,以及在第二个通道播放

第三步在Player场景跟节点的代码中,顶部添加如下代码:

@onready var audio = $Audio  #获取声音节点

在sword_state函数中播放动画代码后面添加如下一行代码:

audio.play()

这是,该函数的代码如下:

func sword_state():#进攻状态
	anima_tree["parameters/playback"].travel("Sword")
	audio.play()
	await anima_tree.animation_finished	
	state=IDLE

这样,挥剑操作就添加上了音效。同理,我们给宝箱打开和钥匙收集均添加上音效代码。需要源代码和音效的同学,请单击上方的源代码获取。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游戏自学

生活不易,打赏随意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值