我们很高兴与大家分享 GDC 上又一天会议的回顾。今天,我们将分享针对 Meta Quest 开发的见解和最佳实践,包括一些提供优化体验的最新工具。我们还讨论了在我们的平台上发布应用的开发者的最佳实践,以及如何利用 App Lab 作为业务和营销工具。
充分利用 Meta Quest 的魔力
为移动沉浸式头戴显示设备制作游戏有什么不同?嗯,很多。Ben Walker 分享了他多年来帮助开发者在 Meta Quest 上发布体验的经验。一个重要的考虑因素是,Meta Quest 与 PC 或游戏机开发的不同之处在于,我们的头显是一款用于虚拟现实和混合现实的电池供电设备。虽然这似乎是显而易见的,但有很多架构方面的考虑因素会影响到决定为 Meta Quest 制作体验的每个人。
Meta Quest 3 的大部分电池电量都用于运行 CPU 和 GPU。我们有一个级别系统,其中更高的级别等同于更高的时钟速度。对于大多数开发者,如果您没有充分利用 CPU 或 GPU,我们建议您暂时降低应用的时钟速度。应用中严重依赖 CPU 或 GPU 的组件或功能是我们认为“耗电”的功能。最值得注意的是,其中一个功能是彩色透视。
彩色透视不仅仅是来自头戴式设备摄像头的视频反馈。虽然彩色透视肯定具有减少模拟器疾病的好处,但它具有利用手部跟踪的好处。目的是使用户手的直通视图与现实保持一致,也就是空间对齐。如下图所示,用户的眼睛和相机之间几厘米的位置差异会极大地影响他们的手出现在用户眼睛(黑色)和相机眼睛(红色)中的位置。
如果空间不能对齐,传递馈送会破坏您的本体感觉,即对四肢位置的无意识感觉。这对于您必须在游戏中接住投掷的球或快速指向一个小按钮的体验非常重要。即使您不打算使用手部追踪,Meta Quest 3 的此组件也会导致您持有的控制器(如直通所示)与游戏中控制器的表示对齐。
值得注意的是,在 Meta Quest 3 中,我们会在整个应用程序渲染后添加直通。这是为了安全起见,因此应用无法存储用户环境的照片,也无法优化延迟。其他应用程序可以添加到用户看到的最终帧中。您可以在右侧看到我们的开发者 HUD OVR Metrics Tool,它显示开发者统计数据,例如帧率。
Compositor
将应用提交的帧、直通摄像机和提交帧的任何其他应用(如 OVR 指标工具或系统菜单)的渲染组合在一起的系统称为合成器。合成器的工作之一是将从不同正在运行的进程提交的图层堆叠在一起,这些图层可能以不同的帧速率和分辨率出现。合成器的另一项工作是将这些图像渲染到屏幕上。
发送到我们屏幕的图像是桶形失真的,而这种失真被镜头中的枕形失真所抵消。这让我们可以使用更简单的镜头,并在屏幕中央放置更多像素;一个真正的双赢局面。Quest 3 每只眼睛有一个屏幕,屏幕会随着镜头移动,因此瞳孔间距离不会影响我们渲染到屏幕上的内容。这是相关的,因为当您获取某些文本的源纹理时,然后将其渲染到场景中的世界菜单或对话框中,然后合成器扭曲该场景,这是完全相同的转换和重新渲染链,并且它应用了相同数量的模糊。
你如何解决这个问题?实际上只有一种方法:您必须将从输入纹理转换为世界渲染,以及从世界渲染到镜头失真输出的转换,转换为仅采样一次的转换。如果您不确定应用的文本质量,请询问您的文本是否像内置应用(如我们的应用商店)一样易于阅读。如果您正在制作用户界面,并且要在该用户界面中放置不止一句话的文本,我们建议您花精力将该用户界面放在合成器层上。
目标帧速率和应用空间扭曲
我们经常听到开发人员在 Quest 3 上为缺少目标帧率而苦苦挣扎。正如我们在开头提到的,重要的是要记住(并在设计时考虑到这一点)Quest 3 是电池供电的,并且大部分功率用于运行 CPU 和 GPU。
这种体系结构的一些结果是额外的渲染通道成本更高。Unity和Unreal中的许多系统(模糊、泛光、HDR、实时阴影、延迟渲染)实际上都是额外的渲染通道。虽然它们在 Quest 上受支持,但您为它们支付的额外费用意味着您应该在选择渲染通道时比 Unity 和 Unreal 建议的要多得多。
我们的一些渲染量很大的游戏,如《刺客信条:Nexus》,使用了我们提供的称为 Application SpaceWarp 的系统。这个想法很简单:Quest 不是每隔几毫秒渲染一帧,而是每隔一帧合成一次,从而为您提供两倍的生成帧时间。您的 CPU 和 GPU 可能需要两倍的周期来计算和渲染您的用户令人难以置信的东西。
使用 Application SpaceWarp 时需要考虑一些缺点。您必须生成运动矢量,这可能意味着修改游戏用于支持渲染运动矢量的每种材质。它也不能很好地处理透明度,因为 Application SpaceWarp 生成的中间帧仅支持沿一个方向移动的每个像素。此外,快速运动会导致伪影。例如,如果您拿着或挥舞着一把剑,并且剑的移动速度非常快,则这种类型的游戏玩法将使用 Application SpaceWarp 暴露伪影。它还会消耗一些帧时间,因此预计生成运动矢量会消耗 30% 的新帧时间。
辅助开发的主要功能
虽然我们在 Quest 3 上讨论的这两个功能增加了很多魔力,但它们非常密集,需要对 VR 的物理现实有深刻的理解。还有其他功能可以帮助 Quest 3 的开发。
我们从开发人员那里听说,许多游戏,比如任何使用混合现实或手部跟踪的游戏,都只能在头戴显示设备中本机运行。我们还听说,创建 Android 版本、将其部署到头戴显示设备、戴上头戴显示设备以及测试更改的时间太长,并且会减慢迭代时间。为了解决这个问题,我们创建了Meta XR Simulator,它集成了Unity或虚幻引擎和原生引擎。它位于编辑器播放功能之上。
每一代 Quest 发布的控制器都具有不同的触觉能力。Quest 2的触觉马达只能在狭窄的频段下工作。Quest 3 的触觉马达要好得多,可以达到更多的频率和振幅。Quest Pro 具有与 Quest 3 相同的主触觉电机,并且在拇指杆和索引触发器上具有额外的触觉电机,用于局部交互反馈。
您可以使用 Haptics Studio 来处理这些信息。Haptics Studio 的主要目标是将音频文件一键转换为触觉文件,这些文件使用每个控制器的最佳资源集进行播放。它还有一个系统,可以与您的头显连接,您可以实时迭代触觉调整,您可以在计算机上按下播放键,控制器就会执行您正在处理的触觉。
我们还有自己的 RenderDoc 版本,这是一个流行的工具,用于调试帧在 GPU 上的渲染方式。这个应用程序使连接和捕获来自 Quest 的帧变得容易,它可以让你更深入地了解你的游戏是如何生成帧的。
后续步骤
在您构建过程中,我们已经介绍了大量优化,但现在呢?我们与来自 Beyond Frames 的 Maeva Sponbergs 举办了一场会议,分享了一些业务和营销最佳实践,探讨了如何利用 App Lab 为成功做好准备。
弄清楚你的受众是谁可能比你的应用程序在哪里可用更重要。Steam、Meta Quest Store 或 App Store 等平台上有如此多的应用程序,脱颖而出变得越来越困难。您需要一种不仅能吸引注意力,还能吸引更多受众的体验。
有意启动应用
如果您正在考虑发布您的应用,请考虑从 App Lab 开始,让您的应用抢先体验。这是一个很好的机会,可以在你进行大型发布之前微调你的体验并完善你的目标。
带着明确的目标潜入 App Lab。这个平台不仅仅是一个发射台;这是一个磨练游戏的绝佳研讨会。从微调功能和设计元素,到构建参与式社区并提供反馈,App Lab 是您的沙盒,也是您开始旅程的好地方。
好的部分是什么?App Lab 提供开放和封闭的测试环境。这意味着您可以灵活地决定如何以及何时收集反馈。这是关于充分利用这个机会与你的观众互动,让他们对你的游戏的发展有发言权。App Lab 面临哪些发现挑战?你可能遇到的主要障碍是如何让你的游戏受到关注。您需要从一开始就进行战略规划,以确保人们能够找到访问您游戏页面的途径。以下是一个简单的清单,以确保您走在正确的轨道上:
首先,了解你的目标受众。他们是拼图爱好者,正在寻求下一个挑战吗?想要潜入另一个世界的故事寻求者?动作爱好者渴望快速、激烈的比赛?识别您的受众至关重要,因为它将为所有后续步骤提供信息。
接下来,找到你的故事。你想通过你的营销节拍编织什么叙事,你如何调整它以适应你的受众?你如何将这个故事分解成引人入胜的、一口大小的内容,以推动你未来的创作?无论是分享游戏功能和更新,还是庆祝节日,总有聊天的理由——你只需要正确的钩子、正确的语言和深思熟虑的叙事计划
掌握社交媒体很重要。尽早保护您的句柄并定期删除引人入胜的内容。了解每个平台的怪癖,并使用主题标签和关键字来了解算法的优点。计划未来三个月的内容日历,以保持您的消息传递正常进行,并使内容捕获成为开发过程的一部分。
让您的听众有发言权。在开始发帖之前设置一个 Discord 服务器,并准备好参与。
对创作者的战略方法。寻找真正喜欢您正在制作的游戏类型的创作者。从中小型影响者开始,专注于建立有意义的关系以推动反馈。
现在,关于反馈:始终理性地看待它。一些好评如潮是很好的,但要确保你专注于扩大你的受众,而不仅仅是产生积极的反馈。使用积极的反馈作为垫脚石,而不是舒适区,来评估您提供的内容是否符合受众的期望。在早期支持者的帮助下扩大您的影响力,以验证这种情绪。只有当你愿意采取行动时,反馈才是黄金。这是关于在忠于游戏核心和根据玩家告诉你的内容对变化持开放态度之间找到最佳平衡点。
在努力优化 Meta Quest 3 的游戏后,拥抱这段旅程,并在整个开发过程中努力发现和吸引您的受众,以成功发布。
来源:meta