开源游戏引擎 Godot 现在已经初步支持 Apple Vision Pro 的 visionOS 系统,这意味着使用 Godot 引擎开发的游戏现在可以在 visionOS 的窗口中运行。更令人期待的是,完整的沉浸式 XR 支持计划将于今年晚些时候推出。
简单介绍一下,Godot 是一款免费且开源的游戏引擎,可以看作是 Unity 和 Unreal Engine 的替代方案。 它在技术上由非营利组织 Godot 基金会控制,但所有开发都是公开进行的,鼓励开源社区的参与。
上个月,一位 Apple visionOS 工程团队的员工在 Godot 的 GitHub 仓库中创建了一个大型的 Pull Request, 这意味着数千行的代码被添加进来,用于支持 visionOS。 同时,他还提交了一份书面请求,希望将这些代码合并到 Godot 的主分支中。
Godot 贡献者的反应褒贬不一。 有人抱怨说“测试它的硬件极其昂贵”, 同时表达了对 Godot 核心团队是否“有兴趣维护它”的怀疑, 并质疑 visionOS 支持是否有充分的理由成为核心功能而不是扩展或插件。 向软件添加新的平台和功能意味着随着时间的推移继续维护和测试这些功能,这绝非易事。 这也体现了开源项目维护中的一个常见问题:资源有限和维护负担。
然而,Godot 中 XR 支持的主要开发人员 Bastiaan Olij 反驳了这些担忧, 称这个 PR 是“一个了不起的里程碑”,并感谢 Apple 的贡献。 尽管承认审查和测试将是“一项艰巨的任务”, 但 Olij 提出了技术论据,认为 visionOS 支持只能在引擎核心中合理实现,而不是作为插件。
Olij 的观点最终胜出,并且你可以在PR 中看到 Godot 社区如何共同努力解决问题,并将最初的 visionOS 支持合并到 Godot 中。 这种最初的 visionOS 支持仅限于在窗口中运行的游戏,而完整的沉浸式 XR 支持计划于今年晚些时候通过插件推出。
需要明确的是,即使是最初的 visionOS 支持也尚未在预编译的 Godot 版本中提供, 但代码已合并到 GitHub 主分支中,因此任何从源代码编译引擎的人都可以开始为 visionOS 构建项目了。
得益于对 OpenXR 的支持, Godot 已经完全支持各种其他 XR 平台, 包括 PC 上的 SteamVR 和所有主要的 Android 独立头显。 它还实现了 Meta 特定的 OpenXR 扩展,用于 Quest 的空间定位和由内向外的身体追踪等功能。
Bastiaan Olij 此前曾表示, Godot 的 OpenXR 支持的质量和广度“极大地受益”于 Meta 的资金和技术支持, 结果“不仅改善了 Meta Quest 用户的体验, 还改善了其他 XR 系统的体验”。 这种合作模式值得借鉴, 能够促进开源项目和商业公司的共同发展。
去年,一位 Meta 工程师甚至发布了 Godot 编辑器本身到 Horizon OS 的移植版本, 从而能够在 Quest 3 和 Quest Pro 头显上完全独立地开发完整的游戏。 这进一步展示了 Godot 在 VR/AR 开发领域的潜力。
当然,Apple Vision Pro 不支持 OpenXR, 这使得添加对其的支持比支持 OpenXR 设备的复杂得多。 这是一个挑战,也体现了苹果在生态封闭性上的坚持。 这也会导致开发者需要付出更多的努力来支持 visionOS 平台。