Unity Ray 射线

射线:射线是3D世界一个向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射。

用途:射线范围比较广,多用于碰撞检测(如:子弹飞行是否击中目标)、角色移动等。

Ray是一个结构体:

变量:

Direction:射线的方向

Origin:射线的起点。

构造函数:

Ray:构造一条射线。

方法:

GetPoint:返回距离单位沿射线点。

ToString:转换成字符串。

相关API:

Ray ray=Camera.main.ScreenPointToRay(Vector3 Pos):返回一条射线由摄像机近裁面发射经过Pos的射线。

Ray ray=Camera.main.ViewportPointToRay(Vector3 Pos):返回一条射线Ray从摄像机到视口(视口外无效)指定一个点。

RaycastHit 光线投射碰撞信息:

barycentricCoordinate:碰到的三角形的重心坐标。

collider:碰到的碰撞器。

distance:从射线到碰撞点的距离。

lightmapCoord:在触碰点的UV光照贴图的坐标。

normal:射线触碰表面的法线。

point:在世界坐标空间,射线碰到碰撞器的接触点。

rigidbody:碰到的该碰撞器上的刚体。如果碰撞器没有刚体则返回null。

textureCoord:在触碰点的UV纹理坐标。

textureCoord2:在接触点处的第二套UV纹理坐标。

transform:碰到的该刚体或碰撞器的变换。

triangleIndex:碰到的三角形索引。

Bool :Physics.Raycast(Ray ray,out RaycastHit);

原文地址:https://www.cnblogs.com/dlvguo/p/9682466.html