Ray

Ray(光线)仅包含两个属性,origin(起点) 和 direction(方向)

光线的最大距离,可以与哪些层的碰撞体接触等信息,都由 Raycast(光线发射) 决定。

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

 

Physics.Raycast

Raycast(光线发射)的重载函数有15个,最多可有6个参数。

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

RaycastHit(光线接触)存储了光线发射的所有信息。

maxDistance(最大距离)默认值为 Mathf.Infinity

layerMask(蒙版层)默认为 DefaultRaycastLayers,默认层是除“Ignore Raycast”层以外的所有层,即该属性指定光线发射可有接触的层。

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

queryTriggerInteraction(是否与触发器交互)默认为 QueryTriggerInteraction.UseGlobal

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

 

Collider.Raycast

与 Physics.Raycast 比较:

1)只有一种形式:

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

2)只关注调用该函数的碰撞体,忽略其他碰撞体的光线接触:

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

 

RaycastHit

RaycastHit(光线接触)存储了光线发射的所有信息。

需要制作关于碰撞体检测的机制时,查就完事了。

【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit

相关文章: