发布
发布

Unreal 的共享空间锚点健康与安全示例应用


健康与安全建议:在使用透视 API 构建混合现实体验时,强烈建议开发者评估自己的内容,以便为用户打造舒适、安全的体验。请参阅混合现实设计指南主题了解详情。

同地会增加共享物理空间中的个体数量,同时会限制其周围环境的可见性。拥挤的体验会带来安全风险。构建共享体验时,注意游戏空间的占用情况十分重要。请参阅共享空间锚点健康与安全指南了解更多指导信息。
同地示例是 Oculus Unreal 集成的一部分。克隆存储库后,找到示例 /Oculus/CoLocationHS 文件夹的示例应用。您还可以浏览 GitHub 上的项目文件:Samples/Oculus/CoLocationHS
请参阅共享空间锚点 API 文件,了解更多指导信息。

健康与安全

本文件介绍了用于 Meta Quest 2 和 Meta Quest Pro 设备同地体验的健康与安全 UE4 示例 (H&S)。与所有功能(包括实验性功能与其他功能)相同,开发者应注意评估其应用的设计和内容,以提供舒适安全的用户体验。请参阅开发者中心(见“设计”版块)中提供的设计最佳实践以及适用于您应用的 VR 系统的健康与安全信息
创建了健康与安全应用示例是为了让开发者能够轻松实现警告功能。
  • 所提供组件可降低同地体验过程中的风险

前提条件

每个玩家都需要在其头戴设备上登录他们的 Meta 账户。

项目结构

这是一款多人游戏,包含两个关卡:
  • 大厅关卡
  • 展示厅关卡
虚拟形象和立方体的所有位置都通过网络进行复制。正确同地后,虚拟形象的位置将与真实玩家的位置相同。该项目依赖于 OnlineSubsystemOculus 和 OnlineSubsystemNULL(用于创建局域网会话)。
请参阅BP_SessionManager组件,了解网络设置详情。网络设置仅需使用 Unreal 引擎模块即可完成,无需额外模块。

体验输入的数据

使用控制器、右操纵杆在用户界面中导航,使用右触发器选择并执行用户界面项目。

大厅和展示厅世界设置

在文字设置中,这两个级别都设置了相应的默认类别:
  • Pawn(大厅和 VRPawn)
  • 玩家控制器
  • 游戏状态
  • 玩家状态
  • 游戏模式
这些类位于 CoLocationHS/Blueprints/ 和CoLocationHS/GameModes。大厅提供了创建或加入会话的功能,展示厅则展示了不同的健康和安全模式以及多人立方体互动机制。

创建并加入会话

创建会话非常简单,创建会话的玩家将成为组织者。成功加入后,所有加入的玩家都可以通过菜单实现同地。这提供了以下功能:
  • 自动创建、共享、对齐锚点,请参阅 BP_CoLocationComponent,了解实施详情。
所选 UI 条目的颜色将反馈同地是否成功。

健康与安全功能

每个玩家可启用或禁用四个分段透视触发逻辑:
  • 近距离:当靠近另一个参与者时,此功能会设置叠加透视层的透明度。距离越近,透视层就越明显
  • 动量:展示玩家走动的透视剪贴画。透明度由其相应的行走速度决定。速度越快,透视层就越明显。
  • 移动:当我四处走动并移动头部时,显示其他玩家在其位置周围的透视剪贴画。
  • 透视切换:开关透视功能。

分段透视

分段透视对其他同地用户应用剪贴画功能。剪贴画比虚拟形象更宽,以补偿姿势估计误差,并延伸至包含下半身。健康与安全功能更新了分段透视功能,可通过近距离(如下图所示)或相对速度(移动或动量透视)或两者触发。
Segmented passthrough
Segmented passthrough sample
透视 API 可在 VR 中实时提供现实世界的可视化内容:
如果虚拟形象与用户的实际位置之间的空间映射未准确对齐,导致的视觉与听觉信息错配可能会引发问题。分段透视可作为一种机制,用于警告用户其他同地用户的实际位置。
重新生成会造成另一种情况,即虚拟形象可能不存在,因此无法显示重新生成的同地用户的实际位置。同样,分段透视可作为一种机制,用于警告用户其他同地用户的实际位置。
Virtual content legends
Segmented passthrough depiction

立方体互动机制

所有用户随时可以在展示厅关卡中生成和引爆立方体。立方体通过网络进行复制。