|
60 fps 的速率對於視頻遊戲來說很常見。 在XR應用中,幀速率變得更加重要,因為高幀速率可以防止使用者出現暈動病。例如,Meta 和 HTC 建議幀速率為 90 fps,這會將渲染循環傳遞的時間減少到 11 毫秒。這意味著您只有 11 毫秒的時間來處理輸入、更新狀態和渲染。 您不會將渲染循環實現為普通的for或while循環,而是實現為遞歸構造,其中您使用XRSession 的requestAnimationFrame方法並自己一次又一次地調用您的函數。在清單 1 中,您可以看到如何建構渲染循環的原始程式碼的範例。 清單 1:渲染循環的實現 這為我們帶來了渲染循環的最後一個面向:渲染。 WebXR API 負責輸入和輸出,但不負責內容的實際呈現。 WebGL 通常用於此目的。
這是用於顯示 3D 內容的硬體加速圖形介面。很少有開發人員直接在 WebGL 中實作 3D 場景 沙烏地阿拉伯 電話號碼 而是依賴Babylon.js 或 Three.js等函式庫。就 Three.js 而言,抽象尚未達到終點。有了 A 型框架,還有另一個層級可以讓您的開發變得更加舒適。 A-Frame – WebXR 函式庫的範例 如果您使用 WebXR 和 WebGL 介面本地開發應用程序,那麼在某些地方工作不會特別愉快,因為這兩個介面的工作水平都相對接近系統的瀏覽器標準。使用 A-Frame 這樣的程式庫,您不必處理相關的複雜性,可以完全專注於實現您的應用程式。在清單 2 中,您可以看到 A 框架應用程式的範例。 單 2:帶有 A 框架的 WebXR A-Frame 讓您可以使用標籤描述場景,遵循實體元件架構。

如果您達到了 A-Frame 所能實現的極限(這種情況發生得相對較快),您還可以直接使用底層 Three.js 並根據您的需求調整 A-Frame 的功能。 WebXR 介面的附加功能 WebXR API 提供了大量的類別和接口,您可以使用它們來實現應用程式的基本範圍。例如,其中包括 XRSession(允許您控制目前會話)或 XRFrame 物件(代表單一訊框)。除了這些基本結構之外,WebXR API 還具有其他功能,可以幫助您實現令人驚嘆的應用程式。 錨點 使用 XRAnchor,您可以在虛擬世界中建立錨點。這些錨點可協助您放置元素。錨點會動態更新,給使用者留下這樣的印象:即使觀看位置發生變化,放置在錨點上的物件實際上仍保留在那裡。您可以使用 XRFrame 及其createAnchor方法來建立這樣的錨點。
|
|