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

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

一. 音频总线

音频总线(也称音频通道)是音频从扬声器播放出来之前通过的地方,你可以在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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/558802.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ARM学习(26)链接库的依赖查看

笔者今天来聊一下查看链接库的依赖。 通常情况下,运行一个可执行文件的时候,可能会出现找不到依赖库的情况,比如图下这种情况,可以看到是缺少了license.dll或者libtest.so,所以无法运行。怎么知道它到底缺少什么dll呢&…

论婚恋相亲交友软件的市场前景和开发方案H5小程序APP源码

随着移动互联网的快速发展和社交需求的日益增长,婚恋相亲交友软件小程序成为了越来越多单身人士的选择。本文将从市场前景、使用人群、盈利模式以及竞品分析等多个角度,综合论述这一领域的现状与发展趋势。 一、市场前景 在快节奏的现代生活中&#xf…

矩阵混乱度(熵值)代码计算

1、先回顾下熵值的数据公式: 2、jax.numpy代码 注意的点:熵值计算的输入的必须是归一化的正值 import jax.numpy as jnp import jax def _entroy(probs):log_probs jnp.log2(jnp.maximum(1.0e-30, probs))mean_sum_plogp jnp.mean(- jnp.sum(log_pro…

面试题:Redis如何防止缓存穿透 + 布隆过滤器原理

题目来源 招银网络-技术-1面 题目描述 缓存穿透是什么?如何防止缓存穿透布隆过滤器的原理是什么? 我的回答 缓存穿透是什么? 攻击者大量请求缓存和数据库中都不存在的key。如何防止缓存穿透 可以使用布隆过滤器布隆过滤器的原理是什么&a…

mysql数据库连接工具(mysql数据库连接工具怎么备份数据不备份表结构)

MySQLWorkbench连接,导入和导出数据库? 1、导出:使用MySQL Workbench连接到MySQL服务器,选择要导出的数据库,右键单击数据库并选择“导出”。选择要导出的表和数据,将导出文件保存为.sql文件。 2、打开MySQL Workbench&#xf…

【GlobalMapper精品教程】074:从Lidar点云创建3D地形模型

本文基于地形点云数据,基于泊松方法、贪婪三角形测量方法和阿尔法形状创建3d地形模型。 文章目录 一、加载地形点云数据二、创建三维地形模型1. 泊松方法2. 贪婪三角形测量方法3. 阿尔法形状注意事项一、加载地形点云数据 加载配套案例数据包中的data074.rar中的地形点云数据…

分类分析模型

目录 1.目的 2.内容 2.1决策树分类模型 2.2K近邻分类模型 3.代码实现 3.1分类分析模型 3.2K近邻分类模型 1.目的 掌握利用Python语言及相关库编写决策树分类分析模型的方法,所构建的决策树能够对给定的数据集进行分类。掌握利用Python语言及相关库编写K近邻分…

matlab学习003-绘制由差分方程表示的离散系统图像

目录 1,题目 2,使用函数求解差分方程 1)基础知识 ①filter函数和impz函数 ②zeros函数 ☀ 2)绘制图像 ​☀ 3)对应代码 如果连简单的信号都不会的,建议先看如下文章👇,之…

2024华中杯C题光纤传感器平面曲线重建原创论文分享

大家好,从昨天肝到现在,终于完成了2024华中杯数学建模C题的完整论文啦。 给大家看一下目录吧: 目录 摘 要: 10 一、问题重述 12 二.问题分析 13 2.1问题一 13 2.2问题二 14 2.3问题三 14 三、模型假设 15 四、…

一文学会Amazon transit GateWay

这是一个中转网关,使用时候需要在需要打通的VPC内创建一个挂载点,TGW会管理一张路由表来决定流量的转发到对应的挂载点上。本质上是EC2的请求路由到TGW,然后在查询TGW的路由表来再来决定下一跳,所以需要同时修改VPC 内子网的路由表…

【深度学习实战(10)】图像推理之预处理

一、预处理流程 在把一张图像送入模型进行推理时,需要先进行预处理,预处理流程包括: (1)读取图像 (2)尺寸调整,letter_box(不失真) (3&#xff0…

从 Elastic 的 Go APM 代理迁移到 OpenTelemetry Go SDK

作者:来自 Elastic Damien Mathieu 正如我们之前所分享的,Elastic 致力于帮助 OpenTelemetry(OTel)取得成功,这意味着在某些情况下构建语言 SDK 的分发版本。 Elastic 在观察性和安全数据收集方面战略性地选择了 OTel…

【Win】怎么下载m3u8视频\怎么通过F12开发人员工具获取视频地址\怎么下载完整的.ts格式视频

怎么下载m3u8视频?首先通过浏览器本地的开发人员工具,获取m3u8的地址,然后再通过第三方下载工具下载,此处以N_m3u8DL-CLI_v3.0.2为例 如下图的步骤,即可获取到视频的m3u8地址 打开N_m3u8DL-CLI_v3.0.2,粘贴…

JAVA 线程状态

一、简介 每一个java线程都会有六种状态,即:NEW,RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED等。这些线程状态是JVM的线程状态,并不映射操作系统的线程状态。可以通过t1.getState().toString()获取线程状态。 1、NE…

数据结构(顺序队列 循环队列

目录 1. 讲解&#xff1a;2. C代码实现&#xff1a;小结&#xff1a; 1. 讲解&#xff1a; 2. C代码实现&#xff1a; #include <stdlib.h> #include <iostream>using namespace std;#define MaxSize 10 #define ElemType inttypedef struct {ElemType data[MaxSi…

JavaWeb--06Vue组件库Element

Element 1 Element组件的快速入门1.1 Table表格 1 Element组件的快速入门 https://element.eleme.cn/#/zh-CN Element是饿了么团队开发的 接下来我们来学习一下ElementUI的常用组件&#xff0c;对于组件的学习比较简单&#xff0c;我们只需要参考官方提供的代码&#xff0c;然…

2010年认证杯SPSSPRO杯数学建模B题(第一阶段)交通拥堵问题全过程文档及程序

2010年认证杯SPSSPRO杯数学建模 交通拥堵问题 B题 Braess 悖论 原题再现&#xff1a; Dietrich Braess 在 1968 年的一篇文章中提出了道路交通体系当中的Braess 悖论。它的含义是&#xff1a;有时在一个交通网络上增加一条路段&#xff0c;或者提高某个路段的局部通行能力&a…

【Java框架】SpringMVC(二)——SpringMVC数据交互

目录 前后端数据交互RequestMapping注解基于RequestMapping注解设置接口的请求方式RequestMapping注解的常用属性一个方法配置多个接口method属性params属性headers属性consumes属性produces属性 SpringMVC中的参数传递默认单个简单参数默认多个简单参数默认参数中有基本数据类…

关基网络战时代,赛宁网安电力网络攻防靶场全面提升电网安全防护力

随着网络空间成为与陆地、海洋、天空、太空同等重要的人类活动新领域&#xff0c;自网络空间向物理电网发起攻击&#xff0c;破坏电力等国家关键基础设施成为当前大国博弈、大规模战争的重要手段和常态进攻形式。同时&#xff0c;新型电力系统建设发展驱动电力系统形态和控制方…

鸢尾花数据集的KNN探索与乳腺癌决策树洞察

鸢尾花数据集的KNN探索与乳腺癌决策树洞察 今天博主做了这个KNN和决策树的实验。 一.数据集介绍 介绍一下数据集&#xff1a; 威斯康星州乳腺癌数据集&#xff1a; 威斯康星州乳腺癌数据集&#xff08;Wisconsin Breast Cancer Dataset&#xff09;是一个经典的机器学习数…
最新文章