游戏引擎中的声音系统

一、声音基础

1.1 音量

声音振幅的大小
在这里插入图片描述
压强p:由声音引起的与环境大气压的局部偏差
在这里插入图片描述
在这里插入图片描述
1.2 音调

在这里插入图片描述
1.3 音色

在这里插入图片描述
1.4 降噪
在这里插入图片描述
1.5 人的听觉范围
在这里插入图片描述

1.6 电子音乐

将自然界中连续的音乐转换成离散的信号记录到内存中
在这里插入图片描述
采样 - 量化 - 编码

香农定理:采样频率是信号频率的两倍,就可实现无损采样。

采样:
在这里插入图片描述
量化:
在这里插入图片描述
编码格式:
在这里插入图片描述

二、三维音频渲染

三维场景中有无数的声源,每个声源从不同的方向,不同的距离表现的效果都不一样。
在这里插入图片描述

2.1 Listener
位置:一般放在摄像机和人物中间。不放在摄像机身上是因为当人物离开时仍然能听到声音;不放到人物身上的原因是当视野离开后,仍然能听到声音。这两种情况都不合理。
速度:多普勒效应
朝向:不同的朝向效果也不一样
设置一个

2.2 空间化

在这里插入图片描述
到达左右耳的时间,方向都会影响音效的空间感。(听声辨位)

2.3 Panning

在这里插入图片描述
通过移动声源位置,模拟声音的变化。
在这里插入图片描述
在这里插入图片描述
但是当声音移动到两耳中间的时候,听到声音会变小

在这里插入图片描述
添加sin,cos解决这个问题
在这里插入图片描述
这样的话在声音移动的时候就可以保证听到的音量大小保持不变。

在这里插入图片描述

2.4 声音的衰弱

高频的声音衰减的快,低频的声音衰减的慢
在这里插入图片描述
通过在不同的频率之间插值计算,就可以体现出你距离声源的远近。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.5声音的阻挡

声音是通过波的形式传播的
在这里插入图片描述
利用射线来计算声音的遮挡。
在这里插入图片描述

2.6 混响

回响-声音的反弹
在这里插入图片描述
不同的材质对声音的吸收也不同在这里插入图片描述
在浴室中唱歌好听的原因:浴室空间小混响效果好
在这里插入图片描述

2.7 多普勒效应

多普勒效应(Doppler effect)是波源与观察者有相对运动时,观察者接受到波的频率与波源发出的频率并不相同的现象。生活中比较常见的例子是远方急驶过来的火车鸣笛声变得尖细(即频率变高,波长变短),而离我们而去的火车鸣笛声变得低沉(即频率变低,波长变长),这就是多普勒效应现象,同样的现象也发生在私家车鸣响与火车的敲钟声,音频参见[声的多普勒效应]。而关于频率和波长的直观感受如下图所示(来自wiki)。

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探究云手机的海外原生IP优势

随着全球数字化进程的加速,企业越来越依赖于网络来扩展其业务。在这个数字时代,云手机作为一种创新的通信技术,已经成为了企业网络优化的重要组成部分。云手机支持海外原生IP的特性,为企业在国际市场上的拓展提供了全新的可能性。…

idea中 错误:找不到或无法加载主类

很神奇的就是maven打包是正常的,本来也是好好的,突然启动就报错了,我百度了很急,没什么结果,找了公司6年工作经验的老员工,还是搞了好久,我站了好久也是没解决。后来我也是在想maven的jar包都能…

【每日一题】2810. 故障键盘-2024.4.1

题目: 2810. 故障键盘 你的笔记本键盘存在故障,每当你在上面输入字符 i 时,它会反转你所写的字符串。而输入其他字符则可以正常工作。 给你一个下标从 0 开始的字符串 s ,请你用故障键盘依次输入每个字符。 返回最终笔记本屏幕…

ROS2从入门到精通1-2:详解ROS2服务通信机制与自定义服务

目录 0 专栏介绍1 服务通信模型2 服务模型实现(C)3 服务模型实现(Python)4 自定义服务5 话题、服务通信的异同 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。…

vscode通过ssh连接服务器(吐血总结)

一、通过ssh连接服务器 1、打开vscode,进入拓展(CtrlShiftX),下载拓展Remote - SSH。 2、点击远程资源管理器选项卡,选择远程(隧道/SSH)类别。 3、点击SSH配置。 4、在中间上部分弹出的配置文件…

目标检测:数据集划分 XML数据集转YOLO标签

文章目录 1、前言:2、生成对应的类名3、xml转为yolo的label形式4、优化代码5、划分数据集6、画目录树7、目标检测系列文章 1、前言: 本文演示如何划分数据集,以及将VOC标注的xml数据转为YOLO标注的txt格式,且生成classes的txt文件…

Navicat工具使用

Navicat的本质: 在创立连接时提前拥有了数据库用户名和密码 双击数据库时,相当于建立了一个链接关系 点击运行时,远程执行命令,就像在xshell上操作Linux服务器一样,将图像化操作转换成SQL语句去后台执行 一、打开Navi…

文生图大模型三部曲:DDPM、LDM、SD 详细讲解!

1、引言 跨模态大模型是指能够在不同感官模态(如视觉、语言、音频等)之间进行信息转换的大规模语言模型。当前图文跨模态大模型主要有: 文生图大模型:如 Stable Diffusion系列、DALL-E系列、Imagen等 图文匹配大模型:如CLIP、Chinese CLIP、…

【TensorRT】TensorRT C# API 项目介绍:基于C#与TensorRT部署深度学习模型(下篇)

文章目录 4. 接口调用4.1 创建并配置C#项目4.2 添加推理代码4.3 项目演示 5. 总结 4. 接口调用 4.1 创建并配置C#项目 首先创建一个简单的C#项目,然后添加项目配置。 首先是添加TensorRT C# API 项目引用,如下图所示,添加上文中C#项目生成的…

Intel Arc显卡安装Stable Diffusion

StableDiffusion是一种基于深度学习的文本到图像生成模型,于2022年发布。它主要用于根据文本描述生成详细图像,也可应用于其他任务,如内补绘制、外补绘制和在提示词指导下生成图像翻译。通过给定文本提示词,该模型会输出一张匹配提…

Linux如何连接github仓库

一.创建一个github账号 如何创建一个github账号 二.在github上创建一个仓库 登录上github后出现这个界面 然后点击左上角头像,在按照图片位置点击: 继续按照图片上的位置进行点击: 创建成功: 三.云主机连接Github仓库 1.在linux中…

今日学到的小知识点:

1.快读&#xff1a;当用cin和scanf都不能满足要求的读入速度时&#xff0c;可以用getchar手写一个快读函数 C代码&#xff1a; inline int read() {int flag 1;//判断符号位int res 0;char ch getchar();while (ch < 0 || ch>9) {//若不为数字&#xff0c;则判断符号…

notepad++里安装32位和64位的16进制编辑器Hex-Editor

这个16进制编辑器确实是个好东西&#xff0c;平时工作种会经常用到&#xff0c; 这是hex-editor的官网。这个里边只能下载32位的(64位的看最下边)&#xff0c;选一个合适的版本&#xff0c;我当时选的是最新的版本 https://sourceforge.net/projects/npp-plugins/files/Hex%20E…

深入了解 Vue 3 中的 Keyframes 动画

在本文中&#xff0c;我们将探讨如何在 Vue 3 中实现 Keyframes 动画。Keyframes 动画允许我们通过定义关键帧来创建复杂的动画效果&#xff0c;从而为用户提供更吸引人的界面体验。 transition动画适合用来创建简单的过渡效果。CSS3中支持使用animation属性来配置更加复杂的动…

● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

● 435. 无重叠区间 class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if len(intervals)1:return 0intervalssorted(intervals,keylambda x:(x[0],x[1]))res0for i in range(1,len(intervals)):if intervals[i][0]<intervals[i-1][…

css- 4

1.浮动 1. 浮动最初用于实现文字环绕效果 2. 现在&#xff0c;浮动是主流的布局方式之一 1.1元素浮动之后的特点 元素浮动之后&#xff0c;称为浮动元素&#xff0c;具有如下特点&#xff1a; 1. 浮动元素脱离文档流 2. 多个浮动的元素会水平排列&#xff0c;一行放不下自动换…

JAVAEE进阶——CAS,ABA问题

文章目录 CAS什么是CAS如何理解CASCAS伪代码 CAS怎么实现的CAS的应用实现自旋锁 CAS的ABA问题什么是ABA问题 ABA问题的解决 CAS 什么是CAS CAS:全称是Compare and swap也就是比较并交换什么是比较并交换呢&#xff1f;我们来举个例子 假如说原内存中的数据是V&#xff0c;旧的…

AR和VR如何改变客户体验?

How AR and VR are transforming customer experiences&#xff1f; How AR and VR are transforming customer experiences AR和VR如何改变客户体验 AR and VR technology was largely expedited by the past pandemic with at least 93.3 million and 58.9 million users r…

机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用,结合生活中的生动例子帮助大家理解

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用&#xff0c;结合生活中的生动例子帮助大家理解。GaussianNB&#xff0c;即高斯朴素贝叶斯模型&#xff0c;是一种基于概率论的分类算法&#xff0c;广泛应…

游戏引擎中的粒子系统

一、粒子基础 粒子系统里有各种发射器&#xff08;emitter&#xff09;&#xff0c;发射器发射粒子&#xff08;particle&#xff09;。 粒子是拥有位置、速度、大小尺寸、颜色和生命周期的3D模型。 粒子的生命周期中&#xff0c;包含产生&#xff08;Spawn&#xff09;、与环…