1. Web
  2. Web-APIs
  3. XRFrame
  4. getDepthInformation()

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

View in English Always switch to English

XRFrame: getDepthInformation() Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more support for this feature? Tell us why.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die getDepthInformation() Methode der XRFrame-Schnittstelle gibt ein XRCPUDepthInformation-Objekt zurück, das CPU-Tiefeninformationen für den aktiven und animierten Frame enthält.

Syntax

js
getDepthInformation(view)

Parameter

view

Ein XRView-Objekt, das von einer Betrachterpose erhalten wurde.

Rückgabewert

Ein XRCPUDepthInformation-Objekt.

Ausnahmen

NotSupportedError DOMException

Wird ausgelöst, wenn "depth-sensing" nicht in der Liste der aktivierten Funktionen für diese XRSession enthalten ist.

InvalidStateError DOMException

Wird ausgelöst, wenn:

  • das XRFrame weder aktiv noch animiert ist. Das Abrufen von Tiefeninformationen ist nur innerhalb des requestAnimationFrame()-Callbacks gültig.
  • die depthUsage der Sitzung nicht "cpu-optimized" ist.

Beispiele

Abrufen von CPU-Tiefeninformationen

js
// Make sure to request a session with depth-sensing enabled
const session = navigator.xr.requestSession("immersive-ar", {
 requiredFeatures: ["depth-sensing"],
 depthSensing: {
 usagePreference: ["cpu-optimized", "gpu-optimized"],
 formatPreference: ["luminance-alpha", "float32"],
 },
});
// ...
// Obtain depth information in an active and animated frame
function rafCallback(time, frame) {
 session.requestAnimationFrame(rafCallback);
 const pose = frame.getViewerPose(referenceSpace);
 if (pose) {
 for (const view of pose.views) {
 const depthInformation = frame.getDepthInformation(view);
 if (depthInformation) {
 // Do something with the depth information
 renderDepth(depthInformation);
 }
 }
 }
}

Spezifikationen

Spezifikation
WebXR Depth Sensing Module
# dom-xrframe-getdepthinformation

Browser-Kompatibilität

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /