VRDisplay: Methode getPose()

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Die getPose() Methode der VRDisplay-Schnittstelle gibt ein VRPose-Objekt zurück, das die zukünftige prognostizierte Pose der VRDisplay angibt, wie sie sein wird, wenn der aktuelle Frame tatsächlich präsentiert wird.

Hinweis: Diese Methode war Teil der alten WebVR API. Sie wurde durch die WebXR Device API abgelöst.

Sie wurde dort sogar veraltet — stattdessen sollten Sie VRDisplay.getFrameData() verwenden, das auch ein VRPose-Objekt bereitstellt.

Syntax

js
getPose()

Parameter

Keine.

Rückgabewert

Ein VRPose-Objekt.

Beispiele

Sobald wir eine Referenz auf ein VRDisplay-Objekt haben, können wir das VRPose, das die aktuelle Pose des Displays repräsentiert, abrufen.

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();

      // …
    }
  });
}

Es wird jedoch empfohlen, die nicht veraltete pose-Eigenschaft des VRFrameData-Objekts (abgerufen über VRDisplay.getFrameData()) zu verwenden, um die aktuelle Pose für jeden Frame abzurufen, bevor dieser an das Display zur Präsentation übermittelt wird. Dies geschieht bei jeder Iteration der Rendering-Schleife Ihrer Anwendung, sodass Sie sicher sein können, dass die Posendaten aktuell sind.

Spezifikationen

Diese Methode war Teil der alten WebVR API, die durch die WebXR Device API abgelöst wurde. Sie ist nicht mehr dabei, ein Standard zu werden.

Bis alle Browser die neuen WebXR APIs implementiert haben, wird empfohlen, auf Frameworks wie A-Frame, Babylon.js oder Three.js, oder ein Polyfill zurückzugreifen, um WebXR-Anwendungen zu entwickeln, die in allen Browsern funktionieren. Lesen Sie Metas Leitfaden zur Übertragung von WebVR zu WebXR für weitere Informationen.

Browser-Kompatibilität

Siehe auch