Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Close Submission failedFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
Close Your name Your email Suggestion* Declarationpublic static bool
CapsuleCast(
Vector3 point1,
Vector3 point2, float
radius,
Vector3 direction, float
maxDistance= Mathf.Infinity, int
layerMask= DefaultRaycastLayers,
QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);
Parameters Parameter Description point1 The center of the sphere at thestart
of the capsule. point2 The center of the sphere at the end
of the capsule. radius The radius of the capsule. direction The direction into which to sweep the capsule. maxDistance The max length of the sweep. layerMask A Layer mask that is used to selectively ignore colliders when casting a capsule. queryTriggerInteraction Specifies whether this query should hit Triggers. Returns
bool True if the capsule sweep intersects any collider, otherwise false.
DescriptionCasts a capsule against all colliders in the Scene and returns detailed information on what was hit.
The capsule is defined by the two spheres with radius
around point1
and point2
, which form the two ends of the capsule. Hits are returned for the first collider which would collide against this capsule if the capsule was moved along direction
. 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.
Notes: CapsuleCast will not detect colliders for which the capsule overlaps the collider. Passing a zero radius results in undefined output and doesn't always behave the same as Physics.Raycast.
Additional resources: Physics.SphereCast, Physics.CapsuleCastAll, Physics.Raycast, Rigidbody.SweepTest.
Declarationpublic static bool
CapsuleCast(
Vector3 point1,
Vector3 point2, float
radius,
Vector3 direction, out
RaycastHit hitInfo, float
maxDistance= Mathf.Infinity, int
layerMask= DefaultRaycastLayers,
QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);
Parameters Parameter Description point1 The center of the sphere at thestart
of the capsule. point2 The center of the sphere at the end
of the capsule. radius The radius of the capsule. direction The direction into which to sweep the capsule. maxDistance The max length of the sweep. hitInfo If true is returned, hitInfo
will contain more information about where the collider was hit. (Additional resources: RaycastHit). layerMask A Layer mask that is used to selectively ignore colliders when casting a capsule. queryTriggerInteraction Specifies whether this query should hit Triggers. Returns
bool True if the capsule sweep intersects any collider, otherwise false.
Casts a capsule along a ray and reports the first collider hit. In addition to checking for collisions, this overload provides detailed information about the collider hit via the out RaycastHit hitInfo parameter. The capsule is defined by two spheres of radius
centered at point1
and point2
. These define the start and end of the capsuleâs axis. The capsule is then swept in the direction
for a maximum distance of maxDistance. This is particularly useful when you want to simulate movement of an object with volume (such as a character or a vehicle), and need to determine where, what, and how it hit something.
using UnityEngine;public class CapsuleCastExample : MonoBehaviour { public Transform pointStart; public Transform pointEnd; public float radius = 0.5f; public float maxDistance = 10f;
void Update() { RaycastHit hit; Vector3 direction = transform.forward;
if (Physics.CapsuleCast(pointStart.position, pointEnd.position, radius, direction, out hit, maxDistance)) { Debug.Log("Hit: " + hit.collider.name + " at " + hit.point); } } }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4