VRDisplay: Methode getPose()

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, kann sie bereits aus den relevanten Webstandards entfernt worden sein, befindet sich im Prozess der Entfernung oder wird nur aus Kompatibilitätsgründen beibehalten. Vermeiden Sie die Verwendung und aktualisieren Sie gegebenenfalls bestehenden Code; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu treffen. Beachten Sie, dass diese Funktion jederzeit nicht mehr funktionieren kann.

Kein Standard: Diese Funktion ist nicht standardisiert und befindet sich nicht im Standardisierungsprozess. Verwenden Sie sie nicht auf Produktionsseiten, die auf das Web ausgerichtet sind: Sie wird nicht für alle Benutzer funktionieren. Außerdem kann es große Inkompatibilitäten zwischen Implementierungen geben und das Verhalten kann sich in Zukunft ändern.

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

BCD tables only load in the browser

Siehe auch