Does ray
intersect this bounding box?
// 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 ExampleClass : 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 public class ExampleClass(MonoBehaviour): public ra as Ray = Ray(Vector3.zero, Vector3.forward) def Update() as void: Debug.DrawRay(Vector3.zero, (Vector3.forward * 999), Color.green) bounds as Bounds = transform.collider.bounds if bounds.IntersectRay(ra): Debug.Log('Touched the ray')
Does ray
intersect this bounding box?
When IntersectRay returns true distance will be the distance to the ray's origin.
// 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 ExampleClass : 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 public class ExampleClass(MonoBehaviour): public ra as Ray = Ray(Vector3.zero, Vector3.forward) public t as float = 10.0F def Update() as void: Debug.DrawRay(Vector3.zero, (Vector3.forward * 10), Color.green) bounds as Bounds = transform.collider.bounds if bounds.IntersectRay(ra, ): Debug.Log('Touched the ray')