Notebookcheck Logo

游戏开发者使用 Python 构建定制 VR 游戏引擎

Python 驱动的 VR 游戏引擎(图片来源:DaFluffyPotato)
Python 驱动的 VR 游戏引擎(图片来源:DaFluffyPotato)
对于大多数开发人员来说,使用 Python 开发 VR 游戏听起来并不是最有效的编程语言。然而,开发者 DaFluffyPotato 迎接了挑战,并发现了一些令人兴奋的结果。
Gaming Open Source

开发者 DaFluffyPotato 对 VR 游戏开发并不陌生。遗憾的是,Godot 等开源引擎已被证明存在局限性,不再是开发者的首选。由于一款即将推出的 3D 游戏需要一个新的开发堆栈,DaFluffyPotato 找到了 Python、GLFW、ModernGL 和 OpenAL 的独特组合,创建了一个令人惊讶的优化 VR 射击游戏。

让这一切成为可能的部分法宝是一个名为 PyopenXR 的项目。PyopenXR 为 OpenXR 提供 Python 绑定,OpenXR 是一套开放的 API,旨在帮助开发人员为多种不同的 VR 和 AR 头显开发 XR 应用程序。这一开放标准为技术栈的其他部分奠定了基础。由于 openXR 并不渲染图形,只通过服务器与 XR 设备通信,因此开发人员使用了 ModernGL(一种适用于 Python 的高性能渲染模型)。此外,由于 PyopenXR 已经支持 GLFW,因此堆栈使用 GLFW 创建窗口和处理输入。不幸的是,在测试这一设置时,DaFluffyPotato 发现了来自 PyopenXR 的内存泄漏,但在他们找到漏洞并打上补丁后,问题得到了解决。

至此,堆栈就可以用来开发 3D 游戏了。DaFluffyPotato 创建了一个功能原型,它拥有完整的资产设置,包括几件武器、一个角色、游戏物理、一个受 Minecraft 启发的块状环境,以及在地图上生成的敌人 NPC。唯一缺少的就是空间音频;幸运的是,OpenAL 可以轻松提供 3D 音频,其实施工作流程与 ModernGL 相似。在花了一些时间对游戏进行打磨后,结果出人意料地好。游戏启动速度很快,启动时间约为几秒钟,比大多数 VR 游戏快得多。此外,游戏运行时不会对 CPU 造成负担。总之,这是一个令人兴奋的项目,DaFluffyPotato 已经计划了未来的更新,包括更好的敌人 NPC 和多人游戏。

Please share our article, every link counts!
Mail Logo
> Notebookcheck中文版(NBC中国) > 新闻 > 新闻档案 > 新闻档案 2024 12 > 游戏开发者使用 Python 构建定制 VR 游戏引擎
Stephen Pereyra, 2024-12-10 (Update: 2024-12-10)