ARCore之路-运动跟踪之3D声场(四)

  上节我们已经利用共振音频(Resonance Audio)SDK实现了3D音效,这只是使用了共振音频(Resonance Audio)最简单的特性,共振音频(Resonance Audio)提供了远比示例中高级的功能技术特性,特别是模拟房间的参数,可以模拟很多生活中的真实环境特性,本节主要对Room参数、API进行更详细的了解。

一、Room effects

这里写图片描述

  如上图所示,Room属性中主要包括Surface Materials 、Reflectivity、Reverb Properties、 Size。

1、Surface materials

  对Room六个声学表面可以赋与不同的声学材质,共振音频(Resonance Audio)共提供了23种不同的材质,我们可以直接选择城要的声学材质,每一种声学材料定义了在不同的频率下声波吸收或反射率。例如,Heavy Curtain(厚窗帘) 吸收高频部分,因些提供一个更干燥、温暖声音的房间特性。Polished Concrete(抛光混凝土)在所有频率上都会反射更多的声音能量,从而产生更明亮和更有回声的房间特性。

2、Reflectivity

  这个参数用来对Resonance Audio Room中声源的早期反射强度进行调节,这样用户就能对他们周围房间的大小和形状有一个大致的印象。例如,减少这个参数的值来用来模拟受限小空间的声音,增加这个值用来模拟空旷空间的声音。

3、Reverb properties

  这些参数影响Resonance Audio Room的后期混响,它主要包括以下三个参数:
  Reverb Gain
  这个参数用来调整房间效果的混响增益,这个混响增益不是直接来自声源的声波。可以用这个参数来调整混合声音的“厚重”或“单薄”。例如,如果想让房间混响变弱,调整Reverb Gain使声音听其来更“单薄”。
  Reverb Brightness
  混响亮度(Reverb Brightness)用来调节混响中低频或高频的数量。Resonance Audio Room可以提供不同频率的不同混响衰减率,Room的墙面材质对不同的频率的音频吸收和反射率是不一样,就像在真实房间中一样。可以使用这个参数来调整房间声音的充盈程度。例如,降低混响亮度,给人一个房间更饱满的印象,并模拟一个包含许多物体或人的房间的声音。
  Reverb Time
  混响时间(Reverb Time)用来调节混响的时间长度,即混响的衰减时间。该值是根据Resonance Audio Room指定的表面材质和房间尺寸计算的混响时间的乘数,可以使用这个参数来对模拟房间的大小进行声学调整。

4、Room size

  使用x、y和z参数设置Resonance Audio Room的尺寸(以米为单位)。房间尺寸影响房间声音效果,这个尺寸同时也设置了声音的边界,当用户进入到范围内时触发房间声音效果,或者平稳地从一个Resonance Audio Room切换到另一个中。

二、Resonance Audio API

  共振音频(Resonance Audio)提供的主要API类如下:

类说明
ResonanceAudio这是共振音频(Resonance Audio)的主要类,它负责共振音频(Resonance Audio)与操作系统及硬件的交互。
ResonanceAudioAcousticMesh这个类用来处理Mesh,保存mesh filter或者terrain的复制风格信息,以及分配给三角形的表面材质。
ResonanceAudioListener对Unity AudioListener的增强,提供更多高级的3D声场的调节参数。
ResonanceAudioMaterialMapperResonance Audio material mapper可编程对象,负责处理GUID到表面材质的映射(这些材质定义了表面的声学特性)。
ResonanceAudioMaterialMapperUpdaterResonance Audio material mapper updater
ResonanceAudioReverbProbe共振音频(Resonance Audio)混响Probe,作为音效的采样点,这个采样点会向其周围的环境发射射线,以此来感知周围环境的声学特性并利用这些信息来计算混响音效。
ResonanceAudioRoom模拟房间,利用这个模拟房间来模拟真实的音效环境。
ResonanceAudioRoomManager模拟房间的管理类,管理模拟房间的3D声场。
SurfaceMaterialDictionary一个可序列化的字典类,它负责从表面材质到GUID的映射。
ResonanceAudioSource对Unity AudioSource的增强,提供更多高级的3D声场的调节参数。

  此外,共振音频(Resonance Audio)技术还提供了对声音的混响烘焙(Reverb baking),与对光线进行烘焙一样,通过设置探针(Probe),可以将声音特性直接烘焙到环境中,省去实时的音频处理,降低处理器的压力。

参考文献

1、Developer Guide for Resonance Audio for Unity Developer Guide for Resonance Audio for Unity
2、Resonance Audio Unity SDK API Reference Resonance Audio Unity SDK API Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_DavidWang_

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值