音频流

介绍

因为你可能已经在 Audio Buses Tutorial ,声音通过音频流播放器发送到每个总线。

有不同种类的音频流播放器。每个人加载一个音频流并播放它。

AudioStream

音频流是一个发出声音的抽象对象。声音可以来自许多地方,但最常见的是来自文件系统。音频文件,如.wav或.ogg,可以作为音频流加载并放置在音频流播放器中。

下面比较两种类型的文件,以帮助您选择最适合您的用例的文件:

  • 音频文件类型 .wav 是相当大的,但很少使用CPU电源播放。数百个游戏可以同时播放,对性能影响很小。这种格式通常最适合于短音效。

  • 音频文件类型 .ogg 虽然要小得多,但要使用相当多的CPU电源进行回放,所以只能回放少数(特别是在移动设备上!)这种格式适用于音乐、长音效序列和相对低比特率的声音。

记住.wav和.ogg通常都不包含循环信息。如果需要循环,则必须使用每个文件类型的导入选项进行设置:

../../_images/audio_stream_import1.png

还有其他类型的音频流播放器,如音频流和公司。每次播放声音时,都会对其音调进行随机调整。这有助于增加对经常播放的声音的兴趣。

AudioStreamPlayer

这是标准的流播放器;它可以在任何总线上播放。在5.1声音中,它可以发送到立体声混音或前置扬声器。

音频流播放器2d

这是audiostreamplayer的一种变体,但在二维位置环境中发出声音。当靠近屏幕左侧时,平移将向左移动。当靠近右侧时,它会向右移动。

注解

区域2d可用于将声音从其包含的任何音频流播放器2d转移到特定总线。这样就可以创建具有不同混响或声音质量的总线来处理在游戏世界的特定部分发生的动作。

../../_images/audio_stream_2d_area.png

音频流播放器3D

这是audiostreamplayer的一种变体,但在3D位置环境中发出声音。根据播放器相对于屏幕的位置,它可以将声音定位为立体声、5.1或7.1,具体取决于所选的音频设置。

与audiostreamplayer2d类似,一个区域可以将声音转移到音频总线。

../../_images/audio_stream_3d_area.png

与2d不同,3d版本的audiostreamplayer有几个更高级的选项:

混响总线

Godot允许3D音频流输入特定的 Area 将干燥和潮湿的音频发送到单独的总线。当您对不同类型的房间有多个混响配置时,这非常有用。这是通过在 混响总线 截面 Area 性能:

../../_images/audio_stream_reverb_bus.png

同时,在每个区域接收来自每个区域的混响信息的地方创建一个特殊的总线布局。需要在每个混响总线中创建和配置混响效果,以完成所需效果的设置:

../../_images/audio_stream_reverb_bus2.png

区域混响总线部分也有一个名为“均匀性”的参数。有些类型的房间反弹的声音比其他类型的更大(像一个仓库),所以即使震源可能离得很远,也可以在房间内几乎均匀地听到混响。利用这个参数进行游戏可以模拟这种效果。

多普勒

当发射器和监听器之间的相对速度改变时,这被视为发射声音音调的增加或减少。Godot可以跟踪 音频流播放器3D照相机 . 两者都具有此属性,必须手动启用:

../../_images/audio_stream_doppler.png

根据对象的移动方式(是否按常规 过程physics_process 步骤)跟踪将自动进行。