XRRay: XRRay() Konstruktor

Limited availability

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

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

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

Der XRRay()-Konstruktor erzeugt ein neues XRRay-Objekt, das eine geometrische Strahlung beschreibt, definiert durch einen Ursprungspunkt und einen Richtungsvektor.

Syntax

js
new XRRay()
new XRRay(origin)
new XRRay(origin, direction)
new XRRay(transform)

Parameter

origin Optional

Ein Punktobjekt, das den dreidimensionalen Punkt im Raum definiert, von dem der Strahl ausgeht, in Metern. Alle Dimensionen sind optional, jedoch muss, wenn angegeben, die w-Eigenschaft des Ursprungs 1,0 sein. Das Objekt wird standardmäßig auf { x: 0.0, y: 0.0, z: 0.0, w: 1.0 } initialisiert.

direction Optional

Ein Vektorobjekt, das den dreidimensionalen Richtungsvektor des Strahls definiert. Alle Dimensionen sind optional, jedoch muss, wenn angegeben, die w-Eigenschaft der Richtung 0,0 sein. Das Objekt wird standardmäßig auf { x: 0.0, y: 0.0, z: -1.0, w: 0.0 } initialisiert.

transform Optional

Ein XRRigidTransform-Objekt, das die Position und Orientierung des Strahls repräsentiert.

Rückgabewert

Ein neu erstelltes XRRay-Objekt.

Ausnahmen

TypeError

Wird ausgelöst, wenn eine der folgenden Bedingungen erfüllt ist:

  • alle x-, y- und z-Koordinaten von direction sind null.
  • die w-Koordinate von direction ist nicht 0,0.
  • die w-Koordinate von origin ist nicht 1,0.

Beispiele

Erstellen von XRRay-Objekten

Der XRRay()-Konstruktor ermöglicht das Erstellen neuer Strahlen, indem entweder ein origin-Punkt und ein direction-Vektor bereitgestellt wird oder indem ein XRRigidTransform-Objekt übergeben wird.

js
// Default configuration
let ray1 = new XRRay();

// Specifying origin, leaving direction as default
let ray2 = new XRRay({ y: 0.5 });

// Specifying both, origin and direction
let origin = { x: 10.0, y: 10.0, z: 10.0, w: 1.0 };
let direction = { x: 10.0, y: 0.0, z: 0.0, w: 0.0 };
let ray3 = new XRRay(origin, direction);

// Using DOMPoint.fromPoint
let ray4 = new XRRay(DOMPoint.fromPoint(origin), DOMPoint.fromPoint(direction));

// Using rigid transform
let rigidTransform = new XRRigidTransform(
  DOMPoint.fromPoint(origin),
  DOMPoint.fromPoint(direction),
);
let ray5 = new XRRay(rigidTransform);

Spezifikationen

Specification
WebXR Hit Test Module
# dom-xrray-xrray

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch