Godot Engine 作為一款非盈利的免費開源遊戲引擎,始終致力於助力用戶輕鬆開發 2D 和 3D 遊戲內容。在過去幾年裡,該引擎不斷優化對 OpenXR 的支持,為開發者搭建起構建和發行 VR/MR 遊戲的便捷橋樑。如今,Godot 團隊正式發布了 Godot OpenXR Vendors Plugin v4 版本,帶來了一系列新功能與改進。
自 Godot 4.0 發布起,OpenXR 支持便已內置於 Godot 引擎之中。不過,由 Godot XR 團隊維護的 OpenXR Vendors Plugin,涵蓋了硬體供應商(如 Meta 和 PICO 等)所創建的 OpenXR 擴展。為保持引擎的簡潔性與擴展的靈活性,該插件獨立於 Godot 引擎本身進行維護。此次發布的全新版本,正是團隊在這一架構下持續創新的成果。
v4.0.0 版本:關鍵功能革新
轉向 Khronos 加載器:在插件的過往版本中,除 OpenXR vendor 擴展外,還包含了針對 Android 的 vendor-specific OpenXR loaders。這是因為在早期,OpenXR 尚未有標準的 Android 加載器(即 Khronos 加載器),各供應商紛紛創建了專有加載器。
而從 4.0.0 版本開始,Godot 將僅採用 Khronos 加載器,插件所支持的所有 Android 頭顯都將與之兼容。這一轉變是朝著在 Godot 引擎本身中支持 Khronos 加載器邁出的重要一步,未來有望實現無需插件即可向 Android 導出應用,團隊計劃在 Godot 4.6 中合併此功能。
動態解析度支持:對於 VR 和 AR 應用而言,維持目標幀率(FPS)至關重要,幀率下降極易引發用戶的不適或噁心感。4.0.0 版本新增了對 Meta 動態解析度功能的支持,該功能會根據系統負載動態調整渲染解析度。當系統負載較高時,不會出現幀率降低的情況,而是圖形會稍顯像素化,待系統負載改善後恢復正常。此功能默認啟用,開發者只需下載新版本插件即可直接使用。
混合應用開發:混合應用能夠在完全沉浸式體驗和浮動2D面板之間動態切換,Godot XR 編輯器便是典型的混合應用。自 4.0.0 版本起,開發者能夠為 Meta 頭顯打造專屬的混合應用,目前對其他供應商的支持也正在緊鑼密鼓地開發中。
僅啟用請求的擴展:在插件的先前版本中,若頭顯支持,會啟用插件所支持的所有 OpenXR 擴展。但隨著擴展數量的急劇增加,且特定擴展可能產生不必要的副作用,甚至影響性能。為此,在 4.0.0 及更高版本中,開發者可以在項目設置中靈活啟用或禁用插件支持的任何 OpenXR 擴展,僅啟用應用所需的功能,從而優化應用性能。
v4.1.0版本:更多驚喜功能登場
全身追蹤支持:自 0.0 版本起,Godot 就已支持 Meta 最初的 OpenXR 身體追蹤擴展,但僅限於處理玩家的上半身。而在 4.1.0 版本中,團隊新增了對 Meta 全身追蹤擴展的支持,涵蓋玩家的腿部追蹤數據,以及對高度校準擴展和精度擴展的支持(精度擴展允許開發者控制追蹤數據的詳細程度),為玩家帶來更加真實、全面的身體追蹤體驗。
Application SpaceWarp 技術:Meta Application SpaceWarp 技術堪稱一大創新,允許遊戲以半幀速率進行渲染,而 OpenXR 運行時會智能生成中間幀,使用戶感受到全幀速率的流暢體驗。實踐證明,該技術能夠將應用程序的幀預算增加約 70%,助力在 VR 一體機上渲染出原本難以實現的高保真圖形。這一技術在《刺客教條:聯結核心VR》中成功助力實現 3A 級圖形效果,如今使用 Godot 開發的 VR 遊戲也能從中受益。
不過,此功能僅限 Godot 4.5 和 Vulkan Mobile 渲染器使用,儘管 4.1.0 版本同時兼容 Godot 4.4 和即將發布的 4.5,但 Application SpaceWarp 僅在 Godot 4.5 或更高版本中有效。目前,該功能僅適用於 Vulkan Mobile 渲染器,但已有 open PR 致力於增加對 Godot’s Compatibility renderer 的支持。
Environment Depth 功能:在 AR 和 MR 應用中,默認情況下,Godot 渲染的所有虛擬對象都會顯示在任何現實世界對象之上。而 Meta Environment Depth 擴展能夠提供玩家面前世界的實時深度圖,藉助該深度圖,可實現現實世界對象對虛擬對象的遮擋效果(即現實世界對象出現在虛擬對象之上),增強虛擬與現實融合的真實感。與 Application SpaceWarp 類似,此功能也僅適用於 Godot 4.5 或更高版本。
除了上述重大功能更新外,1.0 版本還帶來了一系列小幅改進。整個插件包的體積大幅縮小,從上一個 v3 版本的 194MB 縮減至 23.3MB,幾乎是 10 倍的改進,大大節省了存儲空間和下載時間。
此外,還新增了對多個擴展的支持,包括 XR_FB_composition_layer_image_layout 擴展、XR_FB_composition_layer_depth_test 擴展、XR_FB_android_surface_swapchain_create 擴展、XR_META_boundary_visibility 擴展、XR_FB_color_space 擴展等。同時,當啟用 Android CAMERA 權限時,會添加 HorizonOS 攝影機權限;支持 Meta 頭顯的即時啟動畫面配置;並修復了若干錯誤,進一步提升了插件的穩定性和易用性。