游戏引擎中的声音系统

一、声音基础

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)。

相关推荐
异次元的归来11 小时前
Unity DOTS中的share component
unity·游戏引擎
向宇it14 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
向宇it16 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
每日出拳老爷子18 小时前
【图形渲染】【Unity Shader】【Nvidia CG】有用的参考资料链接
unity·游戏引擎·图形渲染
YY-nb1 天前
Unity Apple Vision Pro 开发教程:物体识别跟踪
unity·游戏引擎·apple vision pro
向宇it2 天前
【从零开始入门unity游戏开发之——C#篇23】C#面向对象继承——`as`类型转化和`is`类型检查、向上转型和向下转型、里氏替换原则(LSP)
java·开发语言·unity·c#·游戏引擎·里氏替换原则
Cool-浩2 天前
Unity 开发Apple Vision Pro空间锚点应用Spatial Anchor
unity·游戏引擎·apple vision pro·空间锚点·spatial anchor·visionpro开发
一个程序员(●—●)2 天前
四元数旋转+四元数和向量相乘+音频相关
unity·游戏引擎
冒泡P2 天前
【Lua热更新】上篇
开发语言·数据结构·unity·c#·游戏引擎·lua
十画_8242 天前
Unity 6 中的新增功能
unity·游戏引擎