VRDisplayCapabilities
已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。
非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。
VRDisplayCapabilities 介面是 WebVR API 的一部分,用於描述 VRDisplay 的能力。其屬性可用於執行 VR 裝置能力測試,例如,是否能夠返回位置資訊。
注意: 此介面是舊版 WebVR API 的一部分。它已被 WebXR Device API 取代。
可以透過 VRDisplay.capabilities 屬性訪問此介面。
例項屬性
VRDisplayCapabilities.canPresent已棄用 只讀 非標準-
返回一個布林值,指示 VR 顯示器是否能夠呈現內容(例如,透過 HMD)。
VRDisplayCapabilities.hasExternalDisplay已棄用 只讀 非標準-
返回一個布林值,指示 VR 顯示器是否與裝置的主顯示器分離。
VRDisplayCapabilities.hasOrientation已棄用 只讀 非標準-
返回一個布林值,指示 VR 顯示器是否可以跟蹤並返回方向資訊。
VRDisplayCapabilities.hasPosition已棄用 只讀 非標準-
返回一個布林值,指示 VR 顯示器是否可以跟蹤並返回位置資訊。
VRDisplayCapabilities.maxLayers已棄用 只讀 非標準-
返回一個數字,表示 VR 顯示器一次可以呈現的
VRLayerInit的最大數量(例如,VRDisplay.requestPresent()可以接受的陣列的最大長度)。
示例
function reportDisplays() {
navigator.getVRDisplays().then((displays) => {
displays.forEach((display, i) => {
const cap = display.capabilities;
// cap is a VRDisplayCapabilities object
const listItem = document.createElement("li");
listItem.innerText = `
VR Display ID: ${display.displayId}
VR Display Name: ${display.displayName}
Display can present content: ${cap.canPresent}
Display is separate from the computer's main display: ${cap.hasExternalDisplay}
Display can return position info: ${cap.hasPosition}
Display can return orientation info: ${cap.hasOrientation}
Display max layers: ${cap.maxLayers}`;
listItem.insertBefore(
document.createElement("strong"),
listItem.firstChild,
).textContent = `Display ${i + 1}`;
list.appendChild(listItem);
});
});
}
規範
此介面是舊的 WebVR API 的一部分,該 API 已被 WebXR Device API 取代。它已不再是標準的制定方向。
在所有瀏覽器都實現新的 WebXR API 之前,建議依靠 A-Frame、Babylon.js 或 Three.js 等框架,或 polyfill 來開發可在所有瀏覽器上執行的 WebXR 應用程式。有關更多資訊,請閱讀 Meta 的從 WebVR 移植到 WebXR 指南。
瀏覽器相容性
載入中…