Constructor
new Raycaster( origin : Vector3, direction : Vector3, near : number, far : number )
Constructs a new raycaster.
| origin |
The origin vector where the ray casts from. |
| direction |
The (normalized) direction vector that gives direction to the ray. |
| near |
All results returned are further away than near. Near can't be negative. Default is |
| far |
All results returned are closer than far. Far can't be lower than near. Default is |
Properties
.camera : Camera
The camera to use when raycasting against view-dependent objects such as
billboarded objects like sprites. This field can be set manually or
is set when calling setFromCamera().
Default is null.
.far : number
All results returned are closer than far. Far can't be lower than near.
Default is Infinity.
.layers : Layers
Allows to selectively ignore 3D objects when performing intersection tests.
The following code example ensures that only 3D objects on layer 1 will be
honored by raycaster.
raycaster.layers.set( 1 );
object.layers.enable( 1 );
.near : number
All results returned are further away than near. Near can't be negative.
Default is 0.
.params : Object
A parameter object that configures the raycasting. It has the structure:
{
Mesh: {},
Line: { threshold: 1 },
LOD: {},
Points: { threshold: 1 },
Sprite: {}
}
Where threshold is the precision of the raycaster when intersecting objects, in world units.
Methods
.intersectObject( object : Object3D, recursive : boolean, intersects : Array.<Raycaster~Intersection> ) : Array.<Raycaster~Intersection>
Checks all intersection between the ray and the object with or without the descendants. Intersections are returned sorted by distance, closest first.
Raycaster delegates to the raycast() method of the passed 3D object, when
evaluating whether the ray intersects the object or not. This allows meshes to respond
differently to ray casting than lines or points.
Note that for meshes, faces must be pointed towards the origin of the ray in order
to be detected; intersections of the ray passing through the back of a face will not
be detected. To raycast against both faces of an object, you'll want to set Material#side
to THREE.DoubleSide.
| object |
The 3D object to check for intersection with the ray. |
| recursive |
If set to Default is |
| intersects |
The target array that holds the result of the method. Default is |
- Returns: An array holding the intersection points.
.intersectObjects( objects : Array.<Object3D>, recursive : boolean, intersects : Array.<Raycaster~Intersection> ) : Array.<Raycaster~Intersection>
Checks all intersection between the ray and the objects with or without the descendants. Intersections are returned sorted by distance, closest first.
| objects |
The 3D objects to check for intersection with the ray. |
| recursive |
If set to Default is |
| intersects |
The target array that holds the result of the method. Default is |
- Returns: An array holding the intersection points.
.set( origin : Vector3, direction : Vector3 )
Updates the ray with a new origin and direction by copying the values from the arguments.
| origin |
The origin vector where the ray casts from. |
| direction |
The (normalized) direction vector that gives direction to the ray. |
.setFromCamera( coords : Vector2, camera : Camera )
Uses the given coordinates and camera to compute a new origin and direction for the internal ray.
| coords |
2D coordinates of the mouse, in normalized device coordinates (NDC).
X and Y components should be between |
| camera |
The camera from which the ray should originate. |
.setFromXRController( controller : WebXRController ) : Raycaster
Uses the given WebXR controller to compute a new origin and direction for the internal ray.
| controller |
The controller to copy the position and direction from. |
- Returns: A reference to this raycaster.
Type Definitions
.Intersection
The intersection point of a raycaster intersection test.
|
distance
number |
The distance from the ray's origin to the intersection point. |
|
distanceToRay
number |
Some 3D objects e.g. Points provide the distance of the
intersection to the nearest point on the ray. For other objects it will be |
|
point
Vector3 |
The intersection point, in world coordinates. |
|
face
Object |
The face that has been intersected. |
|
faceIndex
number |
The face index. |
|
object
Object3D |
The 3D object that has been intersected. |
|
uv
Vector2 |
U,V coordinates at point of intersection. |
|
uv1
Vector2 |
Second set of U,V coordinates at point of intersection. |
|
normal
Vector3 |
Interpolated normal vector at point of intersection. |
|
instanceId
number |
The index number of the instance where the ray intersects the InstancedMesh. |