VRDisplayCapabilities

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

WebVR API の VRDisplayCapabilities インターフェイスは VRDisplay の利用可能な機能を示しています — この機能は,例えば位置情報を返すことが可能か,といったVRデバイスの動作可能テストに使うことができます.

このインターフェイスには VRDisplay.capabilities プロパティを通じてアクセスできます.

プロパティ

VRDisplayCapabilities.canPresent 読取専用
VRディスプレイが(HMDを通じて)コンテンツを表示(present)可能かどうかの状態を Boolean で返します.
VRDisplayCapabilities.hasExternalDisplay 読取専用
デバイスのプライマリディスプレイから分離したVRディスプレイかどうかを示す  Boolean を返します.
VRDisplayCapabilities.hasOrientation 読取専用
VRディスプレイがトラッキング可能で向き情報を返すことができるかを示す Boolean を返します.
VRDisplayCapabilities.hasPosition 読取専用
VRディスプレイがトラッキング可能で位置情報を返すことができるかどうかを示す Boolean を返します.
VRDisplayCapabilities.maxLayers 読取専用
VRディスプレイが同時に表示できる VRLayer の最大値を示す数値を返します (例えば  VRDisplay.requestPresent() が受け取ることのできる配列の最大長です.)

function reportDisplays() {
  navigator.getVRDisplays().then(function(displays) {
    for(var i = 0; i < displays.length; i++) {
      var cap = displays[i].capabilities;
      // cap is a VRDisplayCapabilities object
      var listItem = document.createElement('li');
      listItem.innerHTML = '<strong>Display ' + (i+1) + '</strong>'
                   + '<br>VR Display ID: ' + displays[i].displayId
                   + '<br>VR Display Name: ' + displays[i].displayName
                   + '<br>Display can present content: ' + cap.canPresent
                   + '<br>Display is separate from the computer\'s main display: ' + cap.hasExternalDisplay
                   + '<br>Display can return position info: ' + cap.hasPosition
                   + '<br>Display can return orientation info: ' + cap.hasOrientation
                   + '<br>Display max layers: ' + cap.maxLayers;
      list.appendChild(listItem);
    }
  });
}

仕様

Specification Status Comment
WebVR 1.1
VRDisplayCapabilities の定義
ドラフト Initial definition

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
VRDisplayCapabilities
実験的非推奨
Chrome 未対応 なしEdge 未対応 ≤18 — 79Firefox 完全対応 55
補足
完全対応 55
補足
補足 Windows support was enabled in Firefox 55.
完全対応 64
補足
補足 macOS support was enabled in Firefox 64.
IE 未対応 なしOpera ? Safari ? WebView Android 未対応 なしChrome Android 未対応 56 — 80
補足 無効
未対応 56 — 80
補足 無効
補足 Only works in an experimental version of Chrome. (Other builds won't return any devices when Navigator.getVRDisplays() is invoked.)
補足 Daydream View supported in Chrome 56.
補足 Google Cardboard supported in Chrome 57.
無効 From version 56 until version 80 (exclusive): this feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 55Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 6.0
補足
完全対応 6.0
補足
補足 Google Cardboard supported in Samsung Internet 7.0.
canPresent
実験的非推奨
Chrome 未対応 なしEdge 未対応 15 — 79Firefox 完全対応 55
補足
完全対応 55
補足
補足 Windows support was enabled in Firefox 55.
完全対応 64
補足
補足 macOS support was enabled in Firefox 64.
IE 未対応 なしOpera ? Safari ? WebView Android 未対応 なしChrome Android 未対応 56 — 80
補足 無効
未対応 56 — 80
補足 無効
補足 Only works in an experimental version of Chrome. (Other builds won't return any devices when Navigator.getVRDisplays() is invoked.)
補足 Daydream View supported in Chrome 56.
補足 Google Cardboard supported in Chrome 57.
無効 From version 56 until version 80 (exclusive): this feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 55Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 6.0
補足
完全対応 6.0
補足
補足 Google Cardboard supported in Samsung Internet 7.0.
hasExternalDisplay
実験的非推奨
Chrome 未対応 なしEdge 未対応 15 — 79Firefox 完全対応 55
補足
完全対応 55
補足
補足 Windows support was enabled in Firefox 55.
完全対応 64
補足
補足 macOS support was enabled in Firefox 64.
IE 未対応 なしOpera ? Safari ? WebView Android 未対応 なしChrome Android 未対応 56 — 80
補足 無効
未対応 56 — 80
補足 無効
補足 Only works in an experimental version of Chrome. (Other builds won't return any devices when Navigator.getVRDisplays() is invoked.)
補足 Daydream View supported in Chrome 56.
補足 Google Cardboard supported in Chrome 57.
無効 From version 56 until version 80 (exclusive): this feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 55Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 6.0
補足
完全対応 6.0
補足
補足 Google Cardboard supported in Samsung Internet 7.0.
hasOrientation
実験的非推奨
Chrome 未対応 なしEdge 未対応 15 — 79Firefox 完全対応 55
補足
完全対応 55
補足
補足 Windows support was enabled in Firefox 55.
完全対応 64
補足
補足 macOS support was enabled in Firefox 64.
IE 未対応 なしOpera ? Safari ? WebView Android 未対応 なしChrome Android 未対応 56 — 80
補足 無効
未対応 56 — 80
補足 無効
補足 Only works in an experimental version of Chrome. (Other builds won't return any devices when Navigator.getVRDisplays() is invoked.)
補足 Daydream View supported in Chrome 56.
補足 Google Cardboard supported in Chrome 57.
無効 From version 56 until version 80 (exclusive): this feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 55Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 6.0
補足
完全対応 6.0
補足
補足 Google Cardboard supported in Samsung Internet 7.0.
hasPosition
実験的非推奨
Chrome 未対応 なしEdge 未対応 15 — 79Firefox 完全対応 55
補足
完全対応 55
補足
補足 Windows support was enabled in Firefox 55.
完全対応 64
補足
補足 macOS support was enabled in Firefox 64.
IE 未対応 なしOpera ? Safari ? WebView Android 未対応 なしChrome Android 未対応 56 — 80
補足 無効
未対応 56 — 80
補足 無効
補足 Only works in an experimental version of Chrome. (Other builds won't return any devices when Navigator.getVRDisplays() is invoked.)
補足 Daydream View supported in Chrome 56.
補足 Google Cardboard supported in Chrome 57.
無効 From version 56 until version 80 (exclusive): this feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 55Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 6.0
補足
完全対応 6.0
補足
補足 Google Cardboard supported in Samsung Internet 7.0.
maxLayers
実験的非推奨
Chrome 未対応 なしEdge 未対応 15 — 79Firefox 完全対応 55
補足
完全対応 55
補足
補足 Windows support was enabled in Firefox 55.
完全対応 64
補足
補足 macOS support was enabled in Firefox 64.
IE 未対応 なしOpera ? Safari ? WebView Android 未対応 なしChrome Android 未対応 56 — 80
補足 無効
未対応 56 — 80
補足 無効
補足 Only works in an experimental version of Chrome. (Other builds won't return any devices when Navigator.getVRDisplays() is invoked.)
補足 Daydream View supported in Chrome 56.
補足 Google Cardboard supported in Chrome 57.
無効 From version 56 until version 80 (exclusive): this feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 55Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 6.0
補足
完全対応 6.0
補足
補足 Google Cardboard supported in Samsung Internet 7.0.

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

参照