本文提供相关源码,请放心食用,详见网页侧边栏或底部,有疑问请评论或 Issue
在前面我们学习了HoloLens的基础部分,包括 Gaze
、Gesure
、Voice
、Audio Souce
等学习,下面开始进阶部分。
进阶部分包含 Spatial Sound
、World Anchor
、Spatial Mapping
、Sharing
、Spectator View
等内容,欢迎大家一起交流学习。在开始本文学习前,请确保已经学习了基础部分的内容。
创建一个新的 Unity 项目 SpatialSoundDemo,初始化项目:
-
导入 MRTK 包
-
应用项目设置为 MR 项目
-
使用
HoloLensCamera
替代默认相机 -
添加
CursorWithFeedback
-
添加
InputManager
-
设置 InputManager 的
SimpleSinglePointerSelector
脚本的 Cursor 属性为添加的 CursorWithFeedback -
添加一个 Cube,位置如下
最终 Hierarchy 结构如下:
一、Spatial Sound
开启 Unity 的空间声音设置,在设置菜单中 Edit/Audio/Spatializer
启用 Microsoft HRTF
拓展。
为 Cube 添加一个 Audio Souce 组件,配置如下:
每一项具体的含义不再赘述了,可以参考:《HoloLens 开发笔记(8)——Audio Sound》。使用 Unity 或在真机中运行程序,通过改变和 Cube 的远近,感受声音的变化。
二、Sound Occlusion
下面来演示下当 Cube 被其他物体遮挡后,声音能够发生变化。
- 给 Cube 添加 MRTK 包中的
Audio Emitter.cs
脚本 ,使用默认参数即可。 - 新建一个 Sphere,为其添加 MRTK 包中的
Audio Occluder.cs
脚本,使用默认参数即可。
使用 Unity 运行程序,在 Scene 中通过改变 Sphere 是否遮挡住 Cube,来感受声音的变化。
评论