このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

VRFieldOfView

Deprecated

Avoid using this feature in new projects. Development of the WebVR API halted in favor of WebXR. This feature may be a candidate for removal from web standards or browsers.

Consider using the following features instead: WebXR.

非標準: この機能は標準化されていません。非標準の機能はブラウザーの対応が限られ、将来的に変更または削除される可能性があるため、本番環境での使用は推奨されません。ただし、標準の選択肢が存在しない特定のケースでは、有効な代替手段となる場合があります。

VRFieldOfViewWebVR API のインターフェイスで、中心点からの視野を示す 4 つの角度で定義される視界を表現します。

メモ: このインターフェイスは古い WebVR API の一部でした。これは WebXR 機器 API に置き換えられました。

プロパティ

VRFieldOfView.upDegrees 読取専用

視界の上方向への拡張量を示す角度。

VRFieldOfView.rightDegrees 読取専用

視界の右方向への拡張量を示す角度。

VRFieldOfView.downDegrees 読取専用

視界の下方向への拡張量を示す角度。

VRFieldOfView.leftDegrees 読取専用

視界の左方向への拡張量を示す角度。

js
const info = document.querySelector("p");
const list = document.querySelector("ul");
let vrDisplay;

if (navigator.getVRDisplays) {
  reportFieldOfView();
} else {
  info.textContent = "WebVR API not supported by this browser.";
}

function reportFieldOfView() {
  navigator.getVRDisplays().then((displays) => {
    vrDisplay = displays[0];
    const lEye = vrDisplay.getEyeParameters("left");
    const rEye = vrDisplay.getEyeParameters("right");
    // lEye and rEye are VREyeParameters objects

    const lFOV = lEye.fieldOfView;
    const rFOV = rEye.fieldOfView;
    // lFOV and rFOV are VRFieldOfView objects

    const listitem1 = document.createElement("li");
    const listitem2 = document.createElement("li");

    listitem1.innerHTML =
      `<strong>Left eye parameters</strong><br>` +
      `Offset: ${lEye.offset}<br>` +
      `Render width: ${lEye.renderWidth}<br>` +
      `Render height: ${lEye.renderHeight}<br>` +
      `Up degrees: ${lFOV.upDegrees}<br>` +
      `Right degrees: ${lFOV.rightDegrees}<br>` +
      `Down degrees: ${lFOV.downDegrees}<br>` +
      `Left degrees: ${lFOV.leftDegrees}`;

    listitem2.innerHTML =
      `<strong>Right eye parameters</strong><br>` +
      `Offset: ${rEye.offset}<br>` +
      `Render width: ${rEye.renderWidth}<br>` +
      `Render height: ${rEye.renderHeight}<br>` +
      `Up degrees: ${rFOV.upDegrees}<br>` +
      `Right degrees: ${rFOV.rightDegrees}<br>` +
      `Down degrees: ${rFOV.downDegrees}<br>` +
      `Left degrees: ${rFOV.leftDegrees}`;

    list.appendChild(listitem1);
    list.appendChild(listitem2);
  });
}

仕様書

このインターフェイスは古い WebVR API の一部であり、これは WebXR 機器 API で置き枯れられました。標準規格になる見込みはありません。

すべてのブラウザーが新しい WebXR API を実装するまで、 A-FrameBabylon.jsThree.js などのフレームワークを使用するか、ポリフィルを使用することが、すべてのブラウザーで動作する WebXR アプリを開発する上で推奨されます。[1]

ブラウザーの互換性

関連情報