Physics.Raycast Manual     Reference     Scripting  
Scripting > Runtime Classes > Physics
Physics.Raycast

static function Raycast (origin : Vector3, direction : Vector3, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : bool

Parameters

NameDescription
origin The starting point of the ray in world coordinates.
direction The direction of the ray.
distance The length of the ray
layerMask A Layer mask that is used to selectively ignore colliders when casting a ray.

Returns

bool - True when the ray intersects any collider, otherwise false.

Description

Casts a ray against all colliders in the scene.

function Update () {
var fwd = transform.TransformDirection (Vector3.forward);
if (Physics.Raycast (transform.position, fwd, 10)) {
print ("There is something in front of the object!");
}
}

static function Raycast (origin : Vector3, direction : Vector3, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : bool

Parameters

NameDescription
origin The starting point of the ray in world coordinates.
direction The direction of the ray.
distance The length of the ray
hitInfo If true is returned, hitInfo will contain more information about where the collider was hit (See Also: RaycastHit).
layerMask A Layer mask that is used to selectively ignore colliders when casting a ray.

Returns

bool - True when the ray intersects any collider, otherwise false.

Description

Casts a ray against all colliders in the scene and returns detailed information on what was hit.

function Update () {
var hit : RaycastHit;
if (Physics.Raycast (transform.position, -Vector3.up, hit)) {
distanceToGround = hit.distance;
}
}
// Raycast up to 100 meters forward
function Update () {
var hit : RaycastHit;
if (Physics.Raycast (transform.position, -Vector3.up, hit, 100.0)) {
distanceToGround = hit.distance;
}
}

static function Raycast (ray : Ray, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : bool

Parameters

NameDescription
ray The starting point and direction of the ray.
distance The length of the ray
layerMask A Layer mask that is used to selectively ignore colliders when casting a ray.

Returns

bool - True when the ray intersects any collider, otherwise false.

Description

Same as above using ray.origin and ray.direction instead of origin and direction.

var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, 100)) {
print ("Hit something");
}

static function Raycast (ray : Ray, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : bool

Parameters

NameDescription
ray The starting point and direction of the ray.
distance The length of the ray
hitInfo If true is returned, hitInfo will contain more information about where the collider was hit (See Also: RaycastHit).
layerMask A Layer mask that is used to selectively ignore colliders when casting a ray.

Returns

bool - True when the ray intersects any collider, otherwise false.

Description

Same as above using ray.origin and ray.direction instead of origin and direction.

var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
var hit : RaycastHit;
if (Physics.Raycast (ray, hit, 100)) {
Debug.DrawLine (ray.origin, hit.point);
}