XRRay()
The XRRay() constructor creates a new XRRay object which is a geometric ray described by an origin point and a direction vector.
Syntax
new XRRay() new XRRay(origin) new XRRay(origin, direction) new XRRay(transform)
Parameters
- 
originOptional -  
A point object defining the 3-dimensional point in space that the ray originates from, in meters. All dimensions are optional, however, if provided, the origin's
wproperty must be 1.0. The object is initialized to{ x: 0.0, y: 0.0, z: 0.0, w: 1.0 }by default. - 
directionOptional -  
A vector object defining the ray’s 3-dimensional directional vector. All dimensions are optional, however, if provided, the direction's
wproperty must be 0.0. The object is initialized to:{ x: 0.0, y: 0.0, z: -1.0, w: 0.0 }by default. - 
transformOptional -  
An
XRRigidTransformobject representing the position and orientation of the ray. 
Return value
A newly-created XRRay object.
Exceptions
A TypeError is thrown,
- if all of 
direction'sx,y, andzcoordinates are zero. - if 
direction'swcoordinate is not 0.0. - if 
origin'swcoordinate is not 1.0. 
Example
Creating XRRay objects
The XRRay() constructor allows to creating new rays by either providing an origin point and a direction vector, or by passing in an XRRigidTransform object.
// 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);
Specifications
| Specification | 
|---|
| WebXR Hit Test Module (WebXR Hit Test) # dom-xrray-xrray  | 
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
XRRay | 
81  | 
81  | 
No  | 
No  | 
No  | 
No  | 
No  | 
81  | 
No  | 
No  | 
No  | 
13.0  | 
See also
    © 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
    https://developer.mozilla.org/en-US/docs/Web/API/XRRay/XRRay