Meta在GDC大会上分享MR/VR体验设计策略与开发工具
设计MR/VR体验的策略和考虑因素
(映维网Nweon 2025年03月21日)Meta正在分享GDC大会的演讲。下面这篇博文将介绍设计MR/VR体验的策略和考虑因素:
Quest 3和Quest 3S正在重新定义用户与设备的交互方式,允许你探索无数高质量的MR和VR体验。
但即便有了像Building Blocks和Mixed Reality Utility Kit这样的工具,创造完全沉浸式的体验,以及融合物理和虚拟世界依然存在独特的设计挑战。
所以下面将介绍一系列优秀开发团队提供的策略和注意事项:
1. 混合现实设计
来自Creature的创意总监道格·罗斯·库克(Doug North Cook)在GDC大会为我们提供了他的建议:
-
建立有意义的交互
-
从每个对象级别开始,然后再深入:采用分层方法有助于确保可交互对象针对其环境进行优化。首先创造高质量和可识别的对象,然后将它们整合到更广泛的游戏体验中,然后进行场景级优化。
-
利用产品设计方法:无论应用类型如何,确保用户能够直观地理解,在你的体验中移动和交互,增加满意度并减少挫败感。令交互舒适和易于访问可以帮助用户在整个体验过程中保持参与。
-
确保无缝体验和交互保真度:无缝的用户体验能够保持沉浸感和可信度。提高虚拟对象的交互保真度有助于用户在你的混合环境中感受到临场感,并暂停怀疑。
-
-
让它感觉真实
-
专注于可理解的可供性:清晰传达什么动作是可能的,以及如何与对象或面板交互,减少用户的挫败感,并实现更无缝的交互,特别是对于混合现实的新手用户。
-
所有交互都需要音频、视觉和触觉反馈:提供反馈形式可以作为增强沉浸感的确认机制,并提供交互已经完成的清晰度。
-
创造值得交互的对象:确保可交互对象在你的体验环境中发挥作用,从而减少混乱并推动进程。
-
更多信息可以访问《Meta分享:Quest 3 MR开发入门和性能提升指南》。
2. 利用全新的Passthrough Camera API
现在所有开发者都可以开始利用Passthrough Camera API的公开实验版本来访问Quest 3和Quest 3S的前置RGB摄像头。这解锁了使用房间图像应用纹理的能力,为AI模型提供输入,并计算真实世界的数据,如亮度水平,氛围颜色等。你可以在下面看到一个示例视频,利用这个API将图像应用到纹理中以产生反射池效果:
或许最令人兴奋的是,相关图像可以用来驱动机器学习和计算机视觉管道。能够理解环境并实时做出反应能够创造出有趣的游戏以及教练和生活应用。
从娱乐到商业和工业应用,Meta相信这种能力可以应用于各种各样的体验。为了探索潜在的用例,这家公司邀请了数支团队来分享他们是如何使用Passthrough Camera API来帮助内容创建、玩家定制、对象生成和寻路。
Resolution Games首席执行官汤米·帕尔姆(Tommy Palm)分享了结合混合现实的经验。通过Passthrough Camera API, 他们正在尝试捕获和利用真实世界的图像来提供引人注目的游戏,比如把朋友或家人的人脸放到布娃娃身上:
当然,这只是一个早期的概念,但你可以想象一下,把你房间里的任何元素——从猫咪的照片到吉他的虚拟版本——带到游戏中,并与朋友分享,从而带来一种既新奇又真实的体验。
Niantic则分享了数个API的用例,包括对象和空间识别。在第一个示例中,你可以看到API如何支持虚拟角色识别树木,而生成式AI支持适当的后续反应。识别对象并基于它们改变游戏玩法的能力开启了一个充满可能性的世界。
另外,Niantic展示了一个利用API与视觉定位系统来帮助导航通过人口密集或大面积的物理区域。下面,你可以看到这个应用程序如何帮助引导用户到指定的区域:
以上只是Passthrough Camera API这个新工具如何应用的数个例子。要开始使用Passthrough Camera API,请访问这个文档。
3. 设计和渲染热门VR游戏
热门VR游戏《蝙蝠侠:阿卡姆之影》的设计总监瑞安·达西(Ryan Darcey)和渲染工程师凯文·科尔(Kevin Call)分享了VR的设计和渲染策略:
-
不要重新发明轮子:无论是VR还是传统游戏主机都有大量关于输入,交互和移动的最佳实践。为了确保无摩擦体验,除非你需要独特的解决方案,否则请坚持采用常见机制。
-
在新的、更好的和相同的内容之间取得平衡:如果你是利用现有的IP,利用之前流行的功能,并检查如何通过最新的技术来增强它们——不要为了改变而改变。考虑到VR提供了传统平台无法提供的机会,我们需要确定是否以及何时可以使用手部追踪等功能来提供全新且独特的体验。
-
以更高的质量发布更少的功能:专注于质量而不是数量,完善核心机制和功能。理想情况下,你的目标是在整个游戏体验中始终保持高性能。
-
易学难精通:易用性在混合现实和虚拟现实游戏中扮演着重要角色,因为用户会继续使用技术和硬件。提供一种直观的体验,让玩家玩得越久就越有挑战性,这是创造一款具有广泛吸引力的游戏的有效策略。
-
慷慨的交互:当用户与虚拟元素互动时,偏离精确性可以帮助VR体验感觉更加流畅和舒适。例如,如果用户需要在VR中打开一扇门,你可以将交互设计为只要求用户在自动完成交互之前将旋钮旋转一半。
-
考虑将移动机制融入战斗中:在VR中,可以利用动作来推动用户在虚拟环境中前进。
-
关注可见的身体区域:考虑用户最常看到角色身体的哪一部分。例如,如果你的内容使用第一人称视角,则专注于创造高保真的手臂和手而不是头部。
-
考虑游戏功能如何与环境相关联和交互:角色小工具或武器等功能可以提高用户对交互性的期望。例如在《蝙蝠侠:阿卡姆之影》中,玩家可能希望能够使用抓钩到达更高的区域。
渲染技巧:
-
缓解烘焙照明的限制:为了降低性能成本,团队在整个体验中利用烘焙照明,并努力优化光图,以获得更真实的外观和感觉。
-
静态对象照明:为了以更低的性能成本为静态对象实现更高质量的照明,利用Unity的内置lightmap。接下来,在应用lightmap时,通过使用主导方向评估你的高光BRDF来实现直接的高光照明。最后,为了实现更真实的光影对比,通过指定最小阈值和衰减,从漫射亮度构建一个蒙版,并将其与着色器中的镜面相乘。
-
动态对象照明:对于动态对象,团队利用Unity内置的light probe。为了在静态环境和动态角色的烘烤照明放置之间取得平衡,团队部署了一个称为“custom probe”的系统,允许他们使用MaterialPropertyBlock覆盖角色的球面谐波。可以根据需要放置custom probe组件来覆盖照明,允许美术使用三点照明设置来添加光线。Unity的SphericalHarmonicsL2 API用于从三个光源累积照明。
-
实时照明:为了在必要时使用混合照明(烘烤照明和实时照明)实现更低的性能成本,迷彩使用了减法。直接光照可以添加到光图中的静态物体上,而实时光照可以添加到动态物体上。然后可以将间接光添加到光图中的静态物体和使用光探针的动态物体上。
-
实时阴影:为了在静态环境中添加角色投射的阴影,团队通过渲染阴影贴图来使用“假阴影”,然后用正向照明渲染不透明物体。接下来,他们渲染了每个假阴影光的投影体积和样本深度,并用它来重建世界位置,然后返回与帧缓冲区混合的衰减值。最后,渲染透明物体。
-
反射:团队通过使用Unity内置的reflections probe在立方体贴图中存储环境捕获,从而为反射奠定了基础。为了克服复杂几何和光照条件下场景中的障碍,他们实现了一种称为“cubemap normalization的技术,在reflections probe捕获点存储球面谐波,然后在fragment shader中缩放反射。为了增强反射,团队使用了反射代理,即在场景中捕获特定对象的图像。在运行时,代理在一个已知的反射平面渲染和反射到一个对象可以采样的屏幕空间缓冲区。
4. 构建一个桌面MR游戏
Popup Asylum工作室的创意总监马丁·阿什福德(Martin Ashford)和总监马克·霍根(Mark Hogan)介绍了桌面混合现实游戏《Battlenauts》的制作过程。
团队基于经典桌游《Battleship》创造了一个多人虚拟现实原型。在玩了这款游戏后,他们意识到将混合现实作为一种提升沉浸式桌面游戏体验的方法的潜力。
Meta通过数个示例为开发者提供了实现混合现实和社交功能的最佳实践。通过探索展示,Popup Asylum能够依靠Spirit Sling示例的桌面框架来处理游戏板和用户角色定位。所述框架同时为Photon Fusion提供了打装器,而团队将其与Destination API集成,以支持用户之间的多人游戏邀请。
沉浸式VR环境通常比人们在物理环境中可以安全导航的空间要大得多。当Popup Asylum调整其原始VR原型以支持基于透视的游戏玩法时,他们注意到需要缩小游戏空间以适应桌面尺寸。
为了确保渲染的虚拟对象代表用户的物理空间的尺寸,团队实现了一个解决方案,淡出任何渲染超出物理墙壁的对象。这是通过使用Mixed Reality Utility Kit 首先生成一个房间的3D网格来实现,然后使用多重混合模式渲染网格,令渲染网格之外的物体变暗。当与camera合成时,游戏的深色使得物理世界能够通过渲染对象显示并应用透明度。
另外,Meta Avatar的使用允许Popup Asylum有机会为用户提供在游戏中表现自己的更高质量方式。但考虑到Meta Avatar现在支持渲染下半身,团队必须克服挑战,并创造一个坐着的桌面体验。作为解决方案,团队决定使用Avatar SDK的Attachables System将座椅固定在Avatar的臀部。这带来了熟悉的,坐着的棋盘游戏体验,同时保持用户之间的视线一致性。