Meta分享:Quest 3 MR开发入门和性能提升指南
MR入门和性能提升指南
(映维网Nweon 2023年10月13日)Meta Quest 3已经正式发售。与Quest 2相比,Quest 3提供了显著的改进,并开始将混合现实带向主流。这为开发者提供了全新的可能性。
当为Meta Quest创建游戏时,你将能接触到迄今为止为Quest Store应用和游戏带来超过20亿美元的用户群体。随着Quest 3开始走向世界各地,现在正是时候利用这款设备的潜力来构建你的内容,尤其是基于全彩透视的MR。
但面对这一全新的体验,你可能会问“我应该从何入手呢?”。所以,下面这篇来自Meta官方的MR入门和性能提升指南将介绍你可以如何开始实现自己的开发目标。
如果你是为MR构建内容的新手,并且希望开始迭代和集成MR功能,请继续全文。如果你正在构建一个完全沉浸式的VR体验,或者希望提高现有应用程序的性能,请跳转到“提升性能”一栏。
1. 如果你是开发混合现实体验的新手
MR开发并不是经验丰富的开发者或大型工作室的专利。如果你刚刚开始接触,Meta建议你首先访问MR Design Guidelines混合现实设计指南来掌握基础知识。你将能更好地了解什么是MR,如何使用它,以及Meta Quest支持MR的核心功能。通过参考以下页面,你可以了解从零开始设计MR项目时的关键注意事项:
-混合现实概述
-设计最佳实践
-混合虚拟对象与物理世界
-让虚拟对象与物理世界交互
-在现实中保留虚拟对象并建立共享体验
-健康与安全指引
一旦你掌握了基本的知识,你可以参考技术文档并找到开始集成的分步说明:
Meta建议查看相关的示例和演示应用,从而了解集成MR功能的最佳实践。你同时可以找到Passthrough透视(Unity;Unreal)和Scene场景(Unity;Unreal)的示例,以及Spatial Anchors空间锚点(Unity;Unreal)的教程。
演示案例是一个开玩参考应用,旨在为开发者提供整合多种功能的最佳实践,并为应用新功能提供灵感。《Phanto》(GitHub)和《Discover》(GitHub | App Lab)是Meta最新的MR演示案例,你可以用它们开始尝试一个功能项目,并将相关经验转化为你自己的作品。Meta表示,很快会有更多的引擎和用例展示。
2. 开始集成混合现实
在打开你的Quest 3并准备开始为MR开发内容,你要做的第一件事是确保你已经下载并安装SDK v57(Unity;Unreal;Native),以确保获得最新的工具和功能。
为了帮助简化设置和集成MR功能,Meta建议使用以下工具:
-
下载模拟器Meta XR Simulator(Unity;Unreal;Native):无需物理设备即可解锁快速开发。Meta XR Simulator是为开发者构建的轻量级XR运行时,可以在API level模拟Meta Quest头显和功能。你在测试和调试应用不再需要频繁地戴上或摘下头显,而它同时可以通过简化测试环境设置来帮助扩展自动化。另外,Meta XR Simulator通过Synthetic Environment Server(SES)简化了MR开发,允许MR开发者通过合成环境模拟物理世界,从而实现快速简便的开发和测试。
-
项目设置工具Project Setup Tool 允许你快速配置项目,并评估和修复可能影响Build的问题。要访问所述工具,请依次导航到编辑>项目设置> Oculus,或Oculus >工具>项目设置工具。另外,编辑器右下角的状态图标将直接引导你到所述工具。项目设置工具目前支持Unity,并且很快就会支持Unreal。
-
下载Building Blocks。Building Blocks可以帮助提升你的开发速度,而这主要归功于一个允许你简单地将其拖放到项目中的功能库,从而为你提供快速原型设计和向应用添加新功能的强大解决方案。所述工具允许开发者能够在Unity中构建一个包含用以驱动Meta Quest头显交互,MR和社交临在等功能的“Blocks”库。只需点击几下,你就可以访问一个允许你创建令人难以置信的沉浸式和混合现实体验的功能库。
-
如果你是WebXR开发者,Meta建议你使用Immersive Web Emulator这个模拟器来更轻松地测试和迭代WebXR体验,并通过Reality Accelerator Toolkit 来帮助集成MR功能。
很快,你将可以使用混合现实开发工具包Mixed Reality Development Kit来快速访问Scene API的丰富实用程序和工具集,从而支持你更快地构建空间感知应用时更快地开发。相关实用工具包括场景查询、图形化助手和场景调试器等等。
Meta同时致力于支持开发者在Unreal构建内容的全新MR模板,从而帮助你在MR项目设置期间节省时间,并启用快速原型设计或实验。
3. 解锁更快开发的工具
你可以使用以下工具来帮助加快测试MR体验的过程:
-
Meta建议所有的Quest开发者下载Meta Quest Developer Hub (MQDH)。Meta Quest Developer Hub(MQDH)是一组旨在帮助Quest开发者更轻松构建VR内容的工具。除了为开发者提供一种简单的方式来管理头显和头显段的文件外,它同时提供了对Meta各种VR SDK的访问,并包括分析和优化VR应用程序的工具。
-
设置Meta Quest Link(Unity;Unreal),这可以消除每次在开发过程中测试应用时将其部署到头显的需要,从而在Quest 3解锁更快的迭代。尽管有了模拟器,但特定方面的开发更适合在实际头显中进行,例如测试快节奏的交互与追踪运动。
-
上面分享了Meta XR Simulator(Unity;Unreal;Native)如何帮助解锁更快的MR开发,而它同时可以帮助你更快地迭代完全沉浸式VR应用,通过在API Level启用Meta Quest头显和功能的模拟。
Unity开发者可以在这里找到更多改进迭代时间的技巧。
4. 提升性能
性能直接影响用户体验,影响图形、延迟、加载时间、帧率和续航。得益于全新的高通骁龙XR2 Gen2平台和显示光学器件,目前在Quest 2运行的应用程序将在Quest 3中自动体验到性能方面的巨大飞跃,但这并不是优化的终点。
与Quest 2相比,Quest 3拥有两倍的GPU能力,33%的CPU提升,以及增加超过30%的内存,这为你提供了更多的空间来通过各种方式优化应用:
-
添加预处理和后处理渲染通道来生成阴影映射、色调映射、SSAO、bloom等效果
-
以更高的眼缓冲分辨率渲染
-
增加每秒帧数(FPS),从而为用户提供更低的延迟和更舒适的体验
-
通过切换到更计算成本更高昂的着色模型(如PBR)来调整着色器质量
-
增加asset的纹理分辨率。这将增加GPU在纹理采样时所花费的时间,但可以提供视觉质量改进
即便是相对较小的GPU百分比增益都会带来巨大的回报。无论你的目标是降低延迟时间,还是渲染更清晰的视觉效果,优化GPU预算对于增强用户体验至关重要。
以下是如何利用Quest 3的性能的建议:
GPU方面:
-
启用Dynamic Resolution动态分辨率(Unity;Unreal)以保持应用帧率,同时在一个最佳的分辨率渲染内容。所述工具允许你在繁重的GPU工作期间自动调整分辨率,从而尽可能提高应用程序的图像质量。请记住,Meta建议在剖析应用程序时关闭动态分辨率。
-
为了获得更多的视觉质量,Meta建议启用超分辨率Meta Quest Super Resolution。这是一种单通道spatial upscaling和锐化技术,使用边缘和对比度感知滤波来保留和增强注视区域的细节,同时最大限度地减少伪影。
-
Quest 3的目标眼缓冲分辨率现在更高,新的默认值为1680x1760,比Quest 2提高了近30%。大多数应用将自动调整到新的默认值,但面对更多的可用空间,你可以使用计算预算来实现更高的眼缓冲分辨率。
评估,优化,并推动性能:
-
评估性能的第一步应该是使用OVR Metrics Tool(Unity;Unreal;Native)来确定应用程序的GPU-bound情况。
-
剖析对于评估性能和克服GPU和CPU障碍至关重要,下载RenderDoc Meta Fork可允许你访问来自骁龙XR2 Gen 2平台的low level GPU分析数据,而它们是识别和修复瓶颈的关键。RenderDoc同时是一个常用的图形调试器,你可以在这里找到多个使用RenderDoc优化应用程序的常见用例演练(Unity;Unreal)。
-
为了确定GPU正在执行你认为它应该要做的事情,重要的是使用适当的工具来显示加载,存储,renderpass配置等。overgpuprofiler(Unity;Unreal)和GPU Systrace(Unity;Unreal)是专门用于显示相关信息的跟踪工具。
-
如果你遇到性能问题,但不确定原因,Basic Optimization Workflows (Unity;Unreal;Native;WebXR)提供了简单的查询,可以帮助你识别和修复瓶颈。
更多工具:
-
根据你所构建的应用类型,使用Application SpaceWarp可能会实现巨大的延迟和性能改进。在Meta最初的测试中,它为应用提供了高达70%的额外计算,并且几乎没有明显的影响。所述功能可能并不适合每个应用程序,所以建议参考以下延伸阅读,以确定是否以及如何在项目中使用它。
当你的应用使用Passthrough透视等功能来支持MR时,你的GPU和CPU性能会比纯VR体验低17%和14%。如果你添加了诸如如Depth API等特定Presence Platform功能,这同样会消耗额外的GPU资源。但即便在Quest 3运行全MR体验,剩余的计算预算依然将高于Quest 2可用的计算预算。有关Quest 3性能的更多信息,请查看下面这个视频:
5. 设计和整合触觉
Quest 3控制器配备TruTouch触觉,从而提高了沉浸感。要解锁相关新功能,请下载Meta Quest Haptics Studio(Windows;Mac)。有了这套最先进的触觉工具,你可以快速轻松地设计,测试并将高质量的触觉集成到应用程序之中。
入门非常容易:从你现有的音频效果设计触觉,使用VR伴随应用来立即感受触觉创作,并通过Haptics SDK(Unity;Unreal)将它们集成到你的应用程序之中。
Haptics SDK允许你将触觉整合到应用中,并提供了media-like API来触发和控制触觉,一切就像控制音频一样。SDK的运行时检测系统将优化当前连接的控制器的触觉信号,确保触觉clip在Meta Quest设备中向后兼容又向前兼容。
6. 实验性功能
Meta一直有提供实验性的功能,如果你有兴趣成为第一批尝试最新功能的人员,请务必参考实验技术文档。