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. |
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!"); } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Update() { Vector3 fwd = transform.TransformDirection(Vector3.forward); if (Physics.Raycast(transform.position, fwd, 10)) print("There is something in front of the object!"); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def Update() as void: fwd as Vector3 = transform.TransformDirection(Vector3.forward) if Physics.Raycast(transform.position, fwd, 10): print('There is something in front of the object!')
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. |
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)) { var distanceToGround = hit.distance; } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Update() { RaycastHit hit; if (Physics.Raycast(transform.position, -Vector3.up, out hit)) float distanceToGround = hit.distance; } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def Update() as void: hit as RaycastHit if Physics.Raycast(transform.position, -Vector3.up, ): distanceToGround as float = hit.distance
// Raycast up to 100 meters down function Update () { var hit : RaycastHit; if (Physics.Raycast (transform.position, -Vector3.up, hit, 100.0)) { var distanceToGround = hit.distance; } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Update() { RaycastHit hit; if (Physics.Raycast(transform.position, -Vector3.up, out hit, 100.0F)) float distanceToGround = hit.distance; } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def Update() as void: hit as RaycastHit if Physics.Raycast(transform.position, -Vector3.up, , 100.0F): distanceToGround as float = hit.distance
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. |
Same as above using /ray.origin/ and /ray.direction/ instead of origin
and direction
.
function Update() { var ray = Camera.main.ScreenPointToRay (Input.mousePosition); if (Physics.Raycast (ray, 100)) { print ("Hit something"); } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, 100)) print("Hit something"); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def Update() as void: ray as Ray = Camera.main.ScreenPointToRay(Input.mousePosition) if Physics.Raycast(ray, 100): print('Hit something')
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. |
Same as above using /ray.origin/ and /ray.direction/ instead of origin
and direction
.
function Update() { var ray = Camera.main.ScreenPointToRay (Input.mousePosition); var hit : RaycastHit; if (Physics.Raycast (ray, hit, 100)) { Debug.DrawLine (ray.origin, hit.point); } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 100)) Debug.DrawLine(ray.origin, hit.point); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def Update() as void: ray as Ray = Camera.main.ScreenPointToRay(Input.mousePosition) hit as RaycastHit if Physics.Raycast(ray, , 100): Debug.DrawLine(ray.origin, hit.point)