XRRay

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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

Das XRRay-Interface der WebXR Device API ist ein geometrischer Strahl, der durch einen Ursprungspunkt und einen Richtungsvektor beschrieben wird.

XRRay-Objekte können an XRSession.requestHitTestSource() oder XRSession.requestHitTestSourceForTransientInput() übergeben werden, um Treffertests durchzuführen.

Konstruktor

XRRay() Experimentell

Erstellt ein neues XRRay-Objekt.

Instanzeigenschaften

XRRay.direction Schreibgeschützt Experimentell

Ein DOMPointReadOnly, der den 3-dimensionalen Richtungsvektor des Strahls darstellt.

XRRay.matrix Schreibgeschützt Experimentell

Eine Transformation, die verwendet werden kann, um Objekte entlang des XRRay zu positionieren. Dies ist eine 4x4-Matrix, die als 16-Elemente-Float32Array in Spaltenmajor-Ordnung gegeben ist.

XRRay.origin Schreibgeschützt Experimentell

Ein DOMPointReadOnly, der den 3-dimensionalen Punkt im Raum darstellt, von dem der Strahl ausgeht, in Metern.

Instanzmethoden

Keine.

Beispiele

Verwendung von XRRay, um eine Quellen-Treffertestanforderung zu stellen

Die Methode XRSession.requestHitTestSource() nimmt ein XRRay-Objekt für ihre offsetRay-Option. In diesem Beispiel ist die Treffertestquelle leicht über dem Betrachter positioniert, da die Anwendung einige UI-Elemente am unteren Rand hat, während sie die Wahrnehmung eines zentrierten Cursors beibehalten möchte.

js
const xrSession = navigator.xr.requestSession("immersive-ar", {
  requiredFeatures: ["local", "hit-test"],
});

let hitTestSource = null;

xrSession
  .requestHitTestSource({
    space: viewerSpace, // obtained from xrSession.requestReferenceSpace("viewer");
    offsetRay: new XRRay({ y: 0.5 }),
  })
  .then((viewerHitTestSource) => {
    hitTestSource = viewerHitTestSource;
  });

Spezifikationen

Specification
WebXR Hit Test Module
# xrray-interface

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch