Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

VRDisplay: getPose() Methode

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.

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, vorhergesagte Pose des VRDisplay definiert, 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 ersetzt.

Sie wurde dort sogar als veraltet markiert – stattdessen sollten Sie VRDisplay.getFrameData() verwenden, die ebenfalls ein VRPose-Objekt bereitstellt.

Syntax

js
getPose()

Parameter

Keine.

Rückgabewert

Ein VRPose-Objekt.

Beispiele

Sobald wir eine Referenz zu einem VRDisplay-Objekt haben, können wir das VRPose abrufen, das die aktuelle Pose des Displays darstellt.

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, dass Sie die nicht veraltete pose-Eigenschaft des VRFrameData-Objekts verwenden (über VRDisplay.getFrameData() abgerufen), um die aktuelle Pose für jeden Frame abzurufen, bevor er dem Display zur Präsentation übergeben wird. Dies geschieht bei jeder Iteration der Render-Schleife Ihrer Anwendung, sodass Sie sicher sein können, dass die Posedaten aktuell sind.

Spezifikationen

Diese Methode war Teil der alten WebVR API, die durch die WebXR Device API ersetzt wurde. Sie ist nicht mehr auf dem Weg, 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 den Leitfaden von Meta zum Portieren von WebVR zu WebXR für weitere Informationen.

Browser-Kompatibilität

Siehe auch