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

View in English Always switch to English

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

Siehe auch