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.position和VRPose.orientation視為“原點/零”值。 VRDisplay.cancelAnimationFrame()已廢棄 非標準-
一種特殊的
Window.cancelAnimationFrame實現,允許登出透過VRDisplay.requestAnimationFrame()註冊的回撥。 VRDisplay.requestAnimationFrame()已廢棄 非標準-
一種特殊的
Window.requestAnimationFrame實現,包含一個回撥函式,該函式將在每次渲染VRDisplay演示的新幀時呼叫。 VRDisplay.requestPresent()已廢棄 非標準-
啟動
VRDisplay呈現場景。 VRDisplay.exitPresent()已廢棄 非標準-
停止
VRDisplay呈現場景。 VRDisplay.submitFrame()已廢棄 非標準-
捕獲當前正在呈現的
VRLayerInit的當前狀態,並將其顯示在VRDisplay上。
示例
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-Frame、Babylon.js 或 Three.js 等框架,或 polyfill 來開發可在所有瀏覽器上執行的 WebXR 應用程式。有關更多資訊,請閱讀 Meta 的從 WebVR 移植到 WebXR 指南。
瀏覽器相容性
載入中…