您想找什么?
Case studies

Kluge Interactive 如何将 Synth Riders 引入 Apple Vision Pro

Jun 5, 2024
Kluge Interactive 出品的《Synth Riders》
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

Synth Riders是一款沉浸式节奏游戏,于 2019 年在 Steam VR和 Meta Quest 上推出,此后被移植到包括 Apple Vision Pro 在内的众多设备上。以下是团队为 visionOS 开发混合现实体验所学到的知识。

挑战:
为 Apple Vision Pro 重新设计 Synth Riders
项目人员:
约 80 人,其中 15 人负责 Apple Vision Pro 的发布
平台:
PC、HTC Vive、 Oculus Rift/Quest、Meta Quest 2/3/Pro、Pico Neo 3、Pico 4、 PlayStation®4/5、 PlayStation® VR/VR2、Valve Index、Apple Vision Pro
地点:
加利福尼亚州玛丽安德尔湾

工作室如何重新构想 Apple Vision Pro 的备受喜爱的游戏,将其赛博朋克美学与 Apple 的简约多彩设计融为一体?

由于 Apple Vision Pro 是一个新兴的平台,Kluge Interactive 团队意识到了他们面临的潜在障碍,并且知道他们必须适应才能取得成功。他们的主要目标是满足平台第一天的发布期限,并在媒体预览之前将游戏打磨到高标准。

准备迎接新挑战

“我们的团队一直对技术充满信心。“为 Apple Vision Pro 进行开发的机会来得正是时候,因为我们想要增强 Synth Riders 的视觉效果,并且正在重新设计游戏的 UI,”Kluge Interactive 首席执行官 Arturo Perez 说道。

任何 Synth Riders 版本都会带来特定平台的挑战。一旦团队同意进行新的移植,或者在这种情况下重新构想游戏以适应新的媒介,他们就开始准备使用硬件。在过去的一年半里,该团队发布了PlayStation VR2 和 Meta Quest 3 的端口,然后迅速在 Apple Vision Pro 上推出。

Kluge Interactive 的技术制作人 AnnMarie Wirrel Bartholomaeus 解释道:“过去 12 到 18 个月的游戏开发主要致力于偿还技术债务,并让我们的工具集更接近 2022 LTS。”“我们已经从内置渲染管线转移到 通用渲染管线 (URP),并切换到 OpenXR 后端。这有助于我们以更有利的技术地位来运用新技术。”

沉浸式的 Synth Riders 游戏体验
Kluge Interactive 出品的《Synth Riders》

此外,他们采用了更加模块化的方法,并努力将游戏玩法与图形和输入分离。当他们开始新的移植时,这个“核心”包管理诸如加载音乐、生成菜单以及在游戏中填充可交互的音符和轨道等事情。处理好这个问题后,团队就可以专注于如何在特定平台上体现这些数据,以获得他们想要的外观和感觉。

Bartholomaeus 说道:“我们越想探索 Synth Riders 的不同概念,将这些部分分离出来就变得越有趣。我们利用 Core 推进适用于 Apple Vision Pro 的 Synth Riders,这非常有帮助。”

结果

  • 为 Apple Vision Pro 的首发日打造了一款全新、重新构想的节奏游戏版本
  • 节省了聘请由 15 名以上艺术家、开发人员等组成的整个平台特定团队的成本
  • 在 Apple Vision Pro 上获得平均 4.7/5 的评分
Kluge Interactive 制作的《Synth Riders》游戏截图
Kluge Interactive 出品的《Synth Riders》

设计响应式 UI

当 Kluge Interactive 团队开始重新设计 Apple Vision Pro 的 UI 时,他们很快意识到 Apple 规定了如何点击事物以及标准按钮应该是什么样子。由于眼动追踪数据不会直接向开发人员公开,因此他们进行了调整并解决问题,以创建符合所有规则的工作 UI。

如果无法获取眼动追踪数据,那么定制解决方案就是不可能的。为了与 Apple Vision Pro 的内置高亮系统配合良好,他们以3D形式重新创建了整个 UI。

“使用基于标准画布的 UI 是可行的,但我们在分层不同透明层方面遇到了挑战,”Kluge Interactive 的开发人员 Miguel Mosquera 解释道。“主要问题是方形的形状突出了画布、图片和 2D 元素。它并不美观,并且亮点与物体不匹配。”为了避免该问题,团队转向了3D UI,因为3D元素使用方形网格和 alpha 纹理来帮助解决。

为 Synth Riders 设计响应式 UI
Kluge Interactive 团队在编辑器中制作派对模式 UI 的截图

以3D重新创建 UI 可确保视线高光与按钮形状相匹配,但仅靠这一点还不足以让 UI 在平台上感觉自然。高光效果始终是物体轮廓边缘周围的柔和白光,菜单设计师需要考虑到这一点。例如,他们避免使用浅色和块状边框,而倾向于使用深色的柔和渐变色。

虽然这为团队增加了一个完整、独立的工作流程,但他们接受了新的流程并对总体结果非常满意。佩雷斯说道:“这是值得的。用户界面比其他设备上的简洁得多。”

Kluge Interactive 推出的《Synth Riders》游戏元素
Kluge Interactive 出品的《Synth Riders》

制作表演效果

该团队尝试了“复制属性”和“烘焙到网格”两种方法,将 Shuriken Unity效果添加到他们的 PolySpatial 项目中。对于复制属性选项, Unity粒子系统的属性将应用于 Xcode 中的原生粒子系统。使用Bake to Mesh方法,将Unity粒子系统的输出转换为标准网格。后者需要耗费更多的资源,但它支持更广泛的功能,而这是原生粒子系统无法复制的。

团队认为,总体而言,复制属性是更好的选择,但最终他们决定采用“烘焙到网格”选项。“粒子轨迹是一项‘必备’功能,我们的3D艺术家非常希望使用它来为游戏创建音频反应视觉效果,而复制属性选项无法实现这一点,”Kluge Interactive 的高级开发人员 Justin Dopiriak 说道。

Kluge Interactive 出品的《Synth Riders》
Kluge Interactive 团队使用 visionOS 模拟器和 Play to Device 处理实时反馈的编辑器内截图

烘焙到网格选项非常繁重,并且他们在屏幕上使用的某些粒子系统的开销很大。“我们将系统运行到了极限,尝试找出性能问题的根源是很有趣的,”Dopirak 继续说道。“一旦我们找到问题并着手解决,我们发现使用纯顶点是一个很好的解决方案。”

由于他们每次都必须将效果烘焙到网格中,因此仅从顶点数量来看,影响就比在其他平台上看到的影响要大得多。为了管理开销和优化资源节省,他们非常谨慎地决定自己使用什么。对视觉保真度的总体影响可以忽略不计。多皮里亚克总结道:“当我们在应用内容和自我限制方面更加严格时,我们最终得到了近乎完美的结果。”

点亮舞台

为了创建着色器和灯光,该团队采用了 Unity PolySpatial的工具和文档。他们发现了专为 visionOS 设计的新节点,这些节点在模拟器缺乏照明的情况下非常有用,并且还发现了一个节点列表,显示了每个节点是否与平台兼容。事实证明,这在转换切线空间、管理反射探针和视图方向以及处理法线贴图时非常有用。

该团队使用 PolySpatial Lighting Node 作为其主要输出节点,并将所有东西都插入到位。基础颜色、正常颜色、金属度和光滑度保持不变。

“它充当了一个双通道着色器,因为在 PolySpatial 端,即 Apple Vision Pro 端,耳机根据摄像头收到的反馈添加了来自我们环境的反射和一些照明,” 3D艺术家 Esteban Meneses 解释道。“PolySpatial 照明管理着我们所知的引擎内部的所有内容,并且还有烘焙照明的选项。我们讨论了使用光照贴图和光探测器,这两者都非常有用。”

Kluge Interactive 团队在编辑器中拍摄的 Synth Riders 作品
Kluge Interactive 团队在编辑器中分析粒子性能的截图

对于反射探测器,团队可以使用简单和混合选项。从那里,他们将来自 PolySpatial Lighting Node 的所有东西插入到基础颜色和发射中以确保安全。

“有些传球使用了基色,但我们不想用黑色,”梅内塞斯继续说道。“我添加了一个强度修改器来提高值并获得艺术自由。我使用了 Apple Vision Pro 的反射变量,并关闭了最终节点中的环境光遮蔽,所以我们看不到环境的反射。”通过对反射率的控制,团队可以将游戏整齐地划分为用户在房间中的物体和通过门户看到的物体。

Kluge Interactive 推出的《Synth Riders》游戏元素
Kluge Interactive 出品的《Synth Riders》

尝试手部追踪

当团队深入重新构想游戏时,他们首次真正尝试手部追踪。尽管他们最初对于缺乏触觉感到犹豫,但他们对结果很满意。“通常,当你握住控制器时,你的手会结束在手腕处,但通过手部追踪,你的手指变得重要,你可以用不同的方式进行手势和与音乐互动。它给游戏带来了新的维度,”巴托洛梅乌斯说道。

没有控制器,他们适应了一种新的输入方式。他们还需要以非侵入式的方式填补玩家与触觉之间的联系。Bartholomaeus 解释说:“我们研究了音频反应效果、灯光和不同的粒子,以根据它们的动作来促进与歌曲的联系。与铁轨的互动尤为重要。”

该团队依靠平台文档来了解 Apple Vision Pro 上其他平台上没有的骨架偏移。就游戏玩法而言,他们将手腕追踪作为唯一的推断点。由于他们选择将手部追踪作为游戏元素,并将空间点击作为其他一切元素的混合,因此他们没有进行自定义手势。“我们充分利用了操作系统提供的功能。我鼓励人们使用它。它的性能确实非常出色,”Bartholomaeus 说道。

沉迷于 Synth Riders 的玩家
Kluge Interactive 出品的《Synth Riders》

渲染和优化性能

该团队还必须学习新的渲染流程。对于其他平台,他们创建的内容通常直接在Unity中渲染,但对于 visionOS,在 RealityKit 中还有第二步。团队克服的主要挑战之一是没有使用 线渲染器,该组件采用3D空间中的两个或多个点的数组并在它们之间画一条直线。这个组件对于团队在其他版本的 Synth Riders上的轨道系统来说是一笔巨大的财富。

“当我们遇到这个障碍时, Unity PolySpatial 团队非常乐意与我们集思广益,”Bartholomaeus 说道。“对于轨道这个平台尚不支持的功能,他们建议我们的技术艺术家使用标准网格和顶点位移从头开始重新创建它,效果非常好。”

Kluge Interactive 团队在编辑器中拍摄的 Synth Riders 作品
Synth Riders 主舞台视图的编辑器内截图

在性能优化方面,他们学到的主要教训之一就是不要根据针对其他平台的经验做出假设。当团队对整个游戏进行审核,逐步测试优化路径以加快性能时,他们发现在其他平台上减少 URP 中材质实例影响的解决方案并不适用于 Apple Vision Pro。“一旦我们找到这个问题,我们就修改了几行代码。“这是一个简单的解决办法,而且效果非常显著,”Dopiriak 说道。

该团队还使用 Unity Profiler、Xcode Debugger 和 Play to Device 功能调试了性能。“一开始,测试和发现问题很困难,”Mosquera 解释道。“Play to Device 功能帮助我们更快地定位问题,如果没有这个功能,项目将会花费更长的时间才能完成。”

Synth Riders 的游戏元素
Kluge Interactive 出品的《Synth Riders》

将其提升到新的水平

自 2007 年成立设计工作室以来,Kluge Interactive 一直拥抱新兴技术并尝试新事物。尽管 Synth Riders 已进入第五年,但团队预见到了新内容的长期发展,并且他们致力于积极构建功能并提升 Apple Vision Pro 上的视觉与音乐关系。

“设计是我们 DNA 的重要组成部分,因此看到这款设备及其操作系统中蕴含的如此多意图,一直激励着我们。我知道我们可以达到更高的目标,并且我很高兴看到接下来会发生什么,”佩雷斯说道。

立即为 Apple Vision Pro 构建

与我们的团队交谈,了解我们如何帮助您利用 Unity 强大的 工具和工作流程 来构建引人注目的空间体验。

探索案例研究

填写此表单即可了解最新的客户成功案例