Meta Cryptic Cabinet – 针对任何空间定制的混合现实“逃生室”

Meta Cryptic Cabinet – 针对任何空间定制的混合现实“逃生室”

Meta Cryptic Cabinet - 针对任何空间定制的混合现实“逃生室”

我们非常高兴地宣布发布Cryptic Cabinet,这是一个在 Unity 中构建的新开源混合现实展示柜,它演示了 Presence Platform 功能如何将任何房间变成独特的游戏体验。该展示演示了如何集成各种 MR 功能,包括场景 API、共享空间锚点、协同定位、透视和直通颜色映射。我们利用Interaction SDK来演示如何通过各种谜题与场景中的元素进行交互的最佳实践。完整的源代码现已在GitHub上提供,这使得Cryptic Cabinet成为开发人员在 Meta Quest 上探索混合现实潜力的完美方式。

适应任何房间布局的混合现实谜题

当混合现实体验与用户的现实世界环境交互和融合时,通常会更好。但构建适应每个用户独特空间的 MR 体验对许多开发人员来说是一个挑战。我们开发了 Cryptic Cabinet 来展示开发人员如何创建适合每个玩家房间的 MR 体验。在《Cryptic Cabinet》中,体验从房间中出现一个神秘的柜子开始。当柜子打开时,房间里充满了更多神秘的物品,玩家需要破译如何正确使用这些物品,将柜子归还给它的合法主人。

为了让每个用户都能获得出色的 MR 体验,需要根据混合现实空间设置期间提供的布局将物品最佳地放置在任何房间中。Cryptic Cabinet 根据墙壁、地板、天花板和家具的位置来调整谜题的位置,以便根据用户的游戏空间定制体验。

开发人员还应该在初始定位后启用玩家的自定义功能。这是重要的一步,因为用户并不总是将他们的房间设置为完全映射每个现实世界的对象,并且用户仍然需要能够与重要的对象进行交互。

Meta Cryptic Cabinet - 针对任何空间定制的混合现实“逃生室”

优化房间布局

为了在任何房间中最佳地放置拼图,创建了一个覆盖墙壁、地板和表面的网格系统,以创建对房间的理解,然后用于放置每个对象。然后应用程序按照重要性和大小的顺序生成对象:

  • 靠墙:我们首先找到一面随机的墙,以及墙上适合放置物体的随机位置。然后我们验证地板是否空闲。如果地板被占用,我们沿着墙壁行走,直到找到一个位置,循环遍历所有潜在的单元格。如果找不到空间,我们就到下一堵墙重复这个过程。
  • 在墙上:我们找到一面随机墙,并在墙上寻找适合该对象的随机单元格。有些物体有高度限制,例如保险箱,需要处于可触及的高度。我们在寻找合适的单元格时应用这些约束。
  • 仅在桌子上:对于我们想要放置在表面上的物体,我们找到一个随机的表面和一个适合它的随机点。如果没有设置表面,我们使用地板。
  • 在地板上:特定于地板的物体将抓住地板网格并找到可以放置该物体的随机单元格。
  • 任何水平表面:最后,对于可以放在地板上或桌子上的物体,我们按照相同的逻辑将它们放在最后。

一旦找到物体的正确位置,我们就会将其接触的单元格设置为被阻挡。然后,我们使用到最近的阻塞单元的更新距离来更新相邻单元。这形成了一个距离场,我们可以用它来寻找有足够空间放置新物体的开放单元。放置所有对象后,我们使用 Unity 物理系统来计算任何重叠并使对象彼此远离。这是通过几秒钟的穿透计算来实现的,这样做是为了减少某些对象稍微重叠的极端情况。当所有这些完成后,对象就位并准备好游戏开始。

开发人员可以在开源项目提供的文档中找到更多详细信息。

使用控制器或手进行直观的游戏

为了让玩家完全沉浸在 MR 体验中,与虚拟环境进行逼真的交互非常重要。使用 Presence Platform 的交互 SDK,Cryptic Cabinet 集成了自然运动,可以与场景中的虚拟对象进行逼真的交互。

例如,在一个谜题中,玩家可以通过在灯泡侧面施加旋转运动来拧紧和拧开灯泡。

Meta Cryptic Cabinet - 针对任何空间定制的混合现实“逃生室”

安全的代码交互是令人愉快的,因为玩家可以用一根手指轻轻地旋转轮子,就像它是一个真正的表盘一样。

Meta Cryptic Cabinet - 针对任何空间定制的混合现实“逃生室”

自然交互的另一个例子是将钥匙放入钥匙孔中,并且一旦固定在孔中就能够将其转动到位。这种感觉是一种非常自然的打开抽屉的动作,从而解决了玩家现实世界空间中的实际难题。

Meta Cryptic Cabinet - 针对任何空间定制的混合现实“逃生室”

虽然手在混合现实体验中非常有用,但一些用户可能更喜欢控制器。Cryptic Cabinet 通过交互 SDK 集成,使双手和控制器都可以用于这些自然交互。开发人员可以通过查看开源项目中提供的文档来找到有关如何开发这些交互的更多详细信息。

本地多人游戏

与朋友一起的混合现实体验通常会更好。Cryptic Cabinet 支持单人或多人模式来解决密室逃脱问题。多人游戏体验是由游戏的同处实例构建的,玩家可以共同解决谜题。在构建托管体验时,我们建议利用托管包。开发人员可以使用此包轻松地在同一位置的多个用户之间启用共享空间锚点。这可确保所有虚拟对象在房间内正确对齐。有关托管包的更多信息,请查看我们的托管示例

立即开始使用 Cryptic Cabinet 进行构建!

与许多其他 Quest 参考应用程序和展示一样,Cryptic Cabinet 的完整源代码(包括游戏的所有资产)可在 GitHub 上获取。如果您有兴趣构建自己的 MR Escape Room 体验或从展示中获取最佳实践,请查看代码和文档

我们还在应用实验室中提供了完全可玩的 Cryptic Cabinet 版本。尝试在AppLab上下载体验,亲自解开内阁之谜。

Cryptic Cabinet 是我们使用 Presence Platform 构建的最新混合现实展示柜。有关混合现实游戏的其他示例,请查看PhantoDiscover以及我们存储库中的其他示例和展示。

来源:Meta

(0)
上一篇 2024年2月24日 上午8:56
下一篇 2024年2月24日 上午9:13

相关推荐

发表回复

登录后才能评论