WebXR Device API

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

WebXR 是一組標準,它們協同工作,以支援將 3D 場景渲染到專為呈現虛擬世界(虛擬現實,或VR)而設計的硬體,或者為將圖形影像新增到現實世界(增強現實,或AR)而設計的硬體。WebXR 裝置 API 實現 WebXR 功能集的核心,管理輸出裝置的選定,以適當的幀速率將 3D 場景渲染到選定的裝置,並管理使用輸入控制器建立的運動向量。

WebXR 相容裝置包括具有運動和方向跟蹤功能的完全沉浸式 3D 頭顯,眼鏡(透過鏡框疊加圖形到真實世界場景),以及透過攝像頭捕捉世界並用計算機生成影像增強場景的手持行動電話。

為實現這些功能,WebXR 裝置 API 提供了以下關鍵能力:

  • 查詢相容的 VR 或 AR 輸出裝置
  • 以適當的幀速率將 3D 場景渲染到裝置
  • (可選)將輸出映象到 2D 顯示器
  • 建立表示輸入控制元件移動的向量

最基本地說,3D 場景的呈現是透過計算應用於場景的透視來實現的,以便從使用者每隻眼睛的視角進行渲染。這透過計算每隻眼睛的位置,並從該位置渲染場景,視角與使用者當前面對的方向一致。這兩張影像中的每一張都被渲染到同一個幀緩衝區中,左眼渲染的影像在左側,右眼視角的渲染影像在緩衝區的右半部分。一旦場景的左右眼視角都已渲染完畢,生成的幀緩衝區就會被傳遞給 WebXR 裝置,透過使用者的頭顯或其他合適的顯示裝置進行呈現。

雖然較舊的 WebVR API 僅用於支援虛擬現實(VR),但 WebXR 為 Web 上的 VR 和增強現實(AR)都提供了支援。AR 功能的支援由 WebXR 增強現實模組新增。

典型的 XR 裝置可能有 3 個或 6 個自由度,可能帶有或不帶有外部位置感測器。

裝置可能還包括加速度計、氣壓計或其他感測器,用於感知使用者在空間中的移動、頭部旋轉等。

WebXR 參考文件

指南和教程

以下指南和教程是理解 WebXR 以及底層 3D 和 VR/AR 圖形概念的絕佳資源。

規範

規範
WebXR Device API
WebXR Anchors 模組
WebXR 增強現實模組 - Level 1
WebXR Depth Sensing 模組
WebXR DOM 疊加模組
WebXR Gamepads 模組 - Level 1
WebXR Hand Input 模組 - Level 1
WebXR Hit Test 模組
WebXR Layers API Level 1
WebXR 光照估算 API Level 1

瀏覽器相容性

另見