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.
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