VRDisplay

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。

WebVR API 的 VRDisplay 介面代表此 API 支援的任何 VR 裝置。它包括裝置 ID 和描述等通用資訊,以及用於開始呈現 VR 場景、檢索眼睛引數和顯示功能以及其他重要功能的方法。

注意: 此介面是舊版 WebVR API 的一部分。它已被 WebXR Device API 取代。

可以透過呼叫 Navigator.getVRDisplays() 方法返回所有連線的 VR 裝置的陣列。

例項屬性

VRDisplay.capabilities 只讀 已廢棄 非標準

返回一個 VRDisplayCapabilities 物件,該物件指示 VRDisplay 的各種功能。

VRDisplay.depthFar 已廢棄 非標準

獲取和設定定義眼睛檢視截錐體遠平面的 z 深度,即場景最遠的可見邊界。

VRDisplay.depthNear 已廢棄 非標準

獲取和設定定義眼睛檢視截錐體近平面的 z 深度,即場景最近的可見邊界。

VRDisplay.displayId 只讀 已廢棄 非標準

返回此特定 VRDisplay 的識別符號,該識別符號也用作 Gamepad API 中的關聯點(參見 Gamepad.displayId)。

VRDisplay.displayName 只讀 已廢棄 非標準

返回一個人類可讀的名稱,用於標識 VRDisplay

VRDisplay.isConnected 只讀 已廢棄 非標準

返回一個布林值,指示 VRDisplay 是否連線到計算機。

VRDisplay.isPresenting 只讀 已廢棄 非標準

返回一個布林值,指示 VRDisplay 當前是否正在透過它呈現內容。

VRDisplay.stageParameters 只讀 已廢棄 非標準

如果 VRDisplay 能夠支援房間尺度體驗,則返回一個包含房間尺度引數的 VRStageParameters 物件。

例項方法

VRDisplay.getEyeParameters() 已廢棄 非標準

返回一個包含指定眼睛的眼睛引數的 VREyeParameters 物件。

VRDisplay.getFrameData() 已廢棄 非標準

接受一個 VRFrameData 物件,並使用渲染當前幀所需的資訊填充它。

VRDisplay.getImmediatePose() 已廢棄 非標準

返回一個 VRPose 物件,該物件定義 VRDisplay 的當前姿態,不應用任何預測。這已不再需要,並已從規範中刪除。

VRDisplay.getLayers() 已廢棄 非標準

返回 VRDisplay 當前正在呈現的圖層。

VRDisplay.getPose() 已廢棄 非標準

返回一個 VRPose 物件,該物件定義了 VRDisplay 在當前幀實際呈現時的未來預測姿態。此方法已廢棄——相反,您應該使用 VRDisplay.getFrameData(),它也提供了一個 VRPose 物件。

VRDisplay.resetPose() 已廢棄 非標準

重置此 VRDisplay 的姿態,將其當前的 VRPose.positionVRPose.orientation 視為“原點/零”值。

VRDisplay.cancelAnimationFrame() 已廢棄 非標準

一種特殊的 Window.cancelAnimationFrame 實現,允許登出透過 VRDisplay.requestAnimationFrame() 註冊的回撥。

VRDisplay.requestAnimationFrame() 已廢棄 非標準

一種特殊的 Window.requestAnimationFrame 實現,包含一個回撥函式,該函式將在每次渲染 VRDisplay 演示的新幀時呼叫。

VRDisplay.requestPresent() 已廢棄 非標準

啟動 VRDisplay 呈現場景。

VRDisplay.exitPresent() 已廢棄 非標準

停止 VRDisplay 呈現場景。

VRDisplay.submitFrame() 已廢棄 非標準

捕獲當前正在呈現的 VRLayerInit 的當前狀態,並將其顯示在 VRDisplay 上。

示例

js
if (navigator.getVRDisplays) {
  console.log("WebVR 1.1 supported");
  // Then get the displays attached to the computer
  navigator.getVRDisplays().then((displays) => {
    // If a display is available, use it to present the scene
    if (displays.length > 0) {
      vrDisplay = displays[0];
      // Now we have our VRDisplay object and can do what we want with it
    }
  });
}

注意:您可以在 raw-webgl-example 中檢視此完整程式碼。

規範

此介面是舊版 WebVR API 的一部分,該 API 已被 WebXR Device API 取代。它不再有望成為標準。

在所有瀏覽器都實現新的 WebXR API 之前,建議依靠 A-FrameBabylon.jsThree.js 等框架,或 polyfill 來開發可在所有瀏覽器上執行的 WebXR 應用程式。有關更多資訊,請閱讀 Meta 的從 WebVR 移植到 WebXR 指南。

瀏覽器相容性

另見