VRDisplay: getPose() 方法

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

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

VRDisplay 介面的 getPose() 方法返回一個 VRPose 物件,該物件定義了 VRDisplay 在當前幀實際呈現時將具有的未來預測姿態。

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

它甚至已被棄用——相反,您應該使用 VRDisplay.getFrameData(),它也提供一個 VRPose 物件。

語法

js
getPose()

引數

無。

返回值

一個 VRPose 物件。

示例

一旦我們有了 VRDisplay 物件的引用,我們就可以檢索表示顯示器當前姿態的 VRPose

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];
      console.log("Display found");

      // Return the current VRPose object for the display
      const pose = vrDisplay.getPose();

      // …
    }
  });
}

然而,建議您使用 VRFrameData 物件(透過 VRDisplay.getFrameData() 檢索)的非棄用 pose 屬性,以在提交給顯示器進行呈現之前檢索每一幀的當前姿態。這發生在您應用的渲染迴圈的每次迭代中,因此您可以確信姿態資料是最新的。

規範

此方法是舊版 WebVR API 的一部分,已被 WebXR Device API 取代。它不再是標準化的方向。

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

瀏覽器相容性

另見