|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Physics.Raycast
static function Raycast (origin : Vector3, direction : Vector3, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : boolParameters
Returnsbool - True when the ray intersects any collider, otherwise false. DescriptionCasts a ray against all colliders in the scene.
JavaScripts
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 class example(MonoBehaviour): def Update(): fwd as Vector3 = transform.TransformDirection(Vector3.forward) if Physics.Raycast(transform.position, fwd, 10): print('There is something in front of the object!') Note: This function will return false if you cast a ray from inside a sphere to the outside; this in an intended behaviour. static function Raycast (origin : Vector3, direction : Vector3, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : boolParameters
Returnsbool - True when the ray intersects any collider, otherwise false. DescriptionCasts a ray against all colliders in the scene and returns detailed information on what was hit.
JavaScripts
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 class example(MonoBehaviour): def Update(): hit as RaycastHit if Physics.Raycast(transform.position, -Vector3.up, hit): distanceToGround as single = hit.distance another example:
JavaScripts
// Raycast up to 100 meters forward
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 class example(MonoBehaviour): def Update(): hit as RaycastHit if Physics.Raycast(transform.position, -Vector3.up, hit, 100.0F): distanceToGround as single = hit.distance static function Raycast (ray : Ray, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : boolParameters
Returnsbool - True when the ray intersects any collider, otherwise false. DescriptionSame as above using ray.origin and ray.direction instead of origin and direction.
JavaScripts
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, 100)) { print ("Hit something"); }
using UnityEngine;
using System.Collections; public class example : MonoBehaviour { public Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); void Awake() { if (Physics.Raycast(ray, 100)) print("Hit something"); } }
import UnityEngine
import System.Collections class example(MonoBehaviour): public ray as Ray = Camera.main.ScreenPointToRay(Input.mousePosition) def Awake(): if Physics.Raycast(ray, 100): print('Hit something') static function Raycast (ray : Ray, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : boolParameters
Returnsbool - True when the ray intersects any collider, otherwise false. DescriptionSame as above using ray.origin and ray.direction instead of origin and direction.
JavaScripts
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 { public Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); public RaycastHit hit; void Awake() { if (Physics.Raycast(ray, out hit, 100)) Debug.DrawLine(ray.origin, hit.point); } }
import UnityEngine
import System.Collections class example(MonoBehaviour): public ray as Ray = Camera.main.ScreenPointToRay(Input.mousePosition) public hit as RaycastHit def Awake(): if Physics.Raycast(ray, hit, 100): Debug.DrawLine(ray.origin, hit.point) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||