Bounds.IntersectRay Manual     Reference     Scripting  
Scripting > Runtime Classes > Bounds
Bounds.IntersectRay

function IntersectRay (ray : Ray) : boolean

Description

Does ray intersect this bounding box?

JavaScript
// Creates a ray that points from the origin to the infinity among the z Axis.
// And prints if the transform touched the ray.

var ra : Ray = new Ray (Vector3.zero, Vector3.forward);;

function Update () {
// Color ra in the scene editor.
Debug.DrawRay (Vector3.zero, Vector3.forward * 999, Color.green);
var bounds : Bounds = transform.collider.bounds;
if (bounds.IntersectRay (ra))
Debug.Log("Touched the ray");
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Ray ra = new Ray(Vector3.zero, Vector3.forward);
void Update() {
Debug.DrawRay(Vector3.zero, Vector3.forward * 999, Color.green);
Bounds bounds = transform.collider.bounds;
if (bounds.IntersectRay(ra))
Debug.Log("Touched the ray");

}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public ra as Ray = Ray(Vector3.zero, Vector3.forward)

def Update():
Debug.DrawRay(Vector3.zero, (Vector3.forward * 999), Color.green)
bounds as Bounds = transform.collider.bounds
if bounds.IntersectRay(ra):
Debug.Log('Touched the ray')

function IntersectRay (ray : Ray, out distance : float) : boolean

Description

Does ray intersect this bounding box?

When IntersectRay returns true distance will be the distance to the ray's origin.

JavaScript
// Creates a ray that points from the origin to 10 units among the z Axis.
// And prints if the transform touched the ray.

var ra : Ray = new Ray (Vector3.zero, Vector3.forward);;
var t : float = 10.0;

function Update () {
// Color ra in the scene editor.
Debug.DrawRay (Vector3.zero, Vector3.forward * 10, Color.green);
var bounds : Bounds = transform.collider.bounds;
if (bounds.IntersectRay (ra, t))
Debug.Log("Touched the ray");
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Ray ra = new Ray(Vector3.zero, Vector3.forward);
public float t = 10.0F;
void Update() {
Debug.DrawRay(Vector3.zero, Vector3.forward * 10, Color.green);
Bounds bounds = transform.collider.bounds;
if (bounds.IntersectRay(ra, out t))
Debug.Log("Touched the ray");

}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public ra as Ray = Ray(Vector3.zero, Vector3.forward)

public t as single = 10.0F

def Update():
Debug.DrawRay(Vector3.zero, (Vector3.forward * 10), Color.green)
bounds as Bounds = transform.collider.bounds
if bounds.IntersectRay(ra, t):
Debug.Log('Touched the ray')