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 und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch 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