Mixed Reality Utility Kit
Meta的MR模块
- 官方文档
- 透视 Passthrough
- Depth API(目前Quest3特有)基于深度的前后遮挡,例如手部抠像
- 空间锚点Spatial Anchor
- 将虚拟物体固定在现实中的某个位置。
- 分享给其他用户,实现多人MR体验。比如两个人在同个房间打MR乒乓球,需要保证他们看到的虚拟球桌在同个位置。
- 场景理解 Scene Understanding(前提是要扫描房间)
- 场景/房间模型:根据扫描的结果重建出一个与现实房间相匹配的虚拟房间,能够获取房间的整体布局和轮廓大小,以及房间内标记过的各个物体的位置和范围。用2D平面和3D立方体表示房间内的不同物体。能用标签来识别房间内的某一个物体具体是哪一种类型的物体(如墙壁,桌子,天花板等)
- 场景锚点:房间模型中每一个标记的物体,例如房间模型中的地板、天花板、墙壁等物体都可以算作场景锚点。和空间锚点不同的是,场景锚点在Quest系统进行空间设置的时候被创建出来,由系统进行管理;而空间锚点是被应用本身创建,由用户进行管理。
- 场景网格:目前Quest3特有功能,扫描房间时为物体覆盖上场景网格,相比于房间模型里的2D平面和3D立方体能更精确的表示现实物体的形状。常见的用法是给场景网格加上碰撞体,实现虚拟物体和现实物体的碰撞。场景网格也是房间模型中的一个特殊的场景锚点。
MRUK 就是将场景理解的功能封装成了更高层的API,提供更加丰富的 MR功能,方便开发者使用。
MRUK实现的些功能
Scene queries
-
获取房间模型内每一个物体的位置
-
不依赖于Unity物理系统的射线检测
-
在平面上找到一个合适的位置来生成物体
-
检测某个位置是否在房间内
-
得到房间和房间内物体的边界盒
-
…
开发工具
-
SceneDebugger 空间数据调试工具(Assets > Samples >Meta MR Utility Kit > Basic > SceneDebugger)
-
提供不同构造的房间模型,不连接真实的设备也能够进行调试
测试:
- File > Build setting: