static function SphereCast (origin : Vector3, radius : float, direction : Vector3, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : boolean
boolean - True when the capsule sweep intersects any collider, otherwise false.
当胶囊物体投射时与碰撞体相交时,返回真,否则返回假。
Description描述
Casts a sphere against all colliders in the scene and returns detailed information on what was hit.
投射球型物体来判断是否与场景中物体交互,返回 Raycasthit 信息。
This is useful when a Raycast does not give enough precision, because you want to find out if an object of a specific size, such as a character, will be able to move somewhere without colliding with anything on the way. Think of the sphere cast like a thick raycast.
这可以用在光线投射无法满足要求时的情况下。例如要判断角色(有空间大小尺寸)是否和一个物体发生碰撞。
参见: Physics.SphereCastAll, Physics.CapsuleCast, Physics.Raycast, Rigidbody.SweepTest
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void Update() {
RaycastHit hit;
CharacterController charCtrl = GetComponent<CharacterController>();
Vector3 p1 = transform.position + charCtrl.center;
if (Physics.SphereCast(p1, charCtrl.height / 2, transform.forward, out hit, 10))
distanceToObstacle = hit.distance;
}
}
function Update () {
var hit : RaycastHit;
var charCtrl : CharacterController = GetComponent(CharacterController);
var p1 : Vector3 = transform.position + charCtrl.center;
// Cast a sphere wrapping character controller 10 meters forward, to see if it is about to hit anything
//向前投射一个球体角色控制器10米,看它如何碰到东西
if (Physics.SphereCast (p1, charCtrl.height / 2, transform.forward, hit, 10)) {
distanceToObstacle = hit.distance;
}
}
• static function SphereCast (ray : Ray, radius : float, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : boolean
• static function SphereCast (ray : Ray, radius : float, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : boolean
bool - True when the capsule sweep intersects any collider, otherwise false.
当胶囊物体投射时与碰撞体相交时,返回真。
Description描述
Casts a sphere against all colliders in the scene and returns detailed information on what was hit.
投射球型物体来判断是否与场景中物体交互,返回 Raycasthit 信息。
This is useful when a Raycast does not give enough precision, because you want to find out if an object of a specific size, such as a character, will be able to move somewhere without colliding with anything on the way. Think of the sphere cast like a thick raycast.
这可以用在光线投射无法满足要求时的情况下。例如要判断角色(有空间大小尺寸)是否和一个物体发生碰撞。
参见: Physics.SphereCastAll, Physics.CapsuleCast, Physics.Raycast, Rigidbody.SweepTest