Hololens官方教程精简版 - 06. Spatial sound(空间声音)

前言

注意:本文已更新到5.5.1f1版本

个人建议,学习Holograms 220之前,一定完成《Hololens官方教程精简版 - 02. Introduction with Device》的学习。

本篇集中学习空间声音功能,完成以下目标:
- 感受空间声音
- 感受声音被遮挡的效果

Chapter 1 - Spatial Sound

目标

感受空间声音

实践

  1. 请按照第一篇的教程,完成项目的创建。
  2. 新建文件夹:”Assets/_Scenes/Holograms 220/”
  3. 新建场景:”Assets/_Scenes/Holograms 220/Holograms 220.unity”
  4. 打开场景,删除默认的Main Camera
  5. 将”Assets/HoloToolkit/Input/Prefabs/HololensCamera.prefab”添加到Hierarchy根级
  6. 打开”Unity菜单 > Edit > Project Settings > Audio”,打开Audio Manager面板,将Spatializer Plugin设置为:MS HRTF Spatializer,如图:
    添加MS HRTF声音空间插件

  7. 添加一个Cube,按如下属性进行设置:
    设置Cube

  8. Cube添加组件Audio Source
    设置Audio Source

点击Audio Source组件Audio Clip属性右侧的圆钮,选择音频文件:”Vocals”
勾选Spatialize(增加空间感)
勾选Loop(循环播放音乐)
Spatial Blend设置为1(产生3D感)
Doppler Level设置为0(去掉多普勒效应)

本节完成!

点击Play,戴上设备或者耳机,在Scene中移动Cube位置,一边感觉声音发出的位置。

说明

只有在Audio Manager面板指定Spatializer Plugin插件,在Audio Source中才会出现Spatialize等选项。

Chapter 2 - Sound Occlusion

目标

物体削弱声音的效果

实践

  1. Cube添加Audio Emitter组件,默认参数不变,如图:
    Audio Emitter

  2. 添加一个Sphere物体,按下图设置:
    Add a sphere

  3. Sphere添加Audio Occluder组件,按下图进行设置:
    Add an audio occluder

本节完成!

点击Play,戴上设备或者耳机,在Scene中移动Cube位置,当拖入到Sphere里面时,声音被削弱。

说明

  • AudioOccluder
    这是一个简单的声音遮挡器,实现IAudioInfluencer接口,具体实现其实是使用AudioLowPassFilter(低通滤波器)对低于指定频率的声音进行了降音,所以场景中的Sphere此时可以起到遮挡声音的作用。
  • AudioEmitter
    这是一个声音发射器,内部使用射线机制,寻找摄像机(耳朵)和Cube之间所有实现了IAudioInfluencer接口的组件,并依次执行这些组件中对此接口的实现。
  • AudioLowPassFilter
    低通滤波器,低于指定频率的声音才能通过。Unity中还有更多的过滤器,具体可以查看Unity官方文档中《Audio Filters》部分。

小结

本节没有代码,都是添加和设置组件。具体实现原理,大家可以看组件的源码。
需要注意的地方就是,记得在Audio Manager中设置Spatializer PluginMS HRTF Spatializer,才能打开Audio Source组件的空间选项,以便于在Hololens上形成比较好的空间声音效果。

参考文档
官方教程Holograms 220:https://developer.microsoft.com/en-us/windows/mixed-reality/holograms_220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值