Physics.Raycast参数说明

Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance, int layerMask);

参数1:Ray,射线的起点坐标和方向向量

  Vector3 RayDir = m_OwnerPlayer.transform.forward;

  Ray ray = new Ray(m_OwnerPlayer.transform.localPosition, RayDir);

  主要说说Ray构造函数的参数2,是单位向量,切记,单位向量。可以用transform.forward,也可以用 (m_OwnerPlayer.transform.localPosition - LastPosition).normalized 。

参数2:碰撞物体的返回信息

参数3:射线的距离

参数4:过滤层,如果层是Default,那么写法是  1<<0

下面是例子:

 1 Vector3 RayDir = m_OwnerPlayer.transform.forward;
 2             Ray SceneRay = new Ray(m_OwnerPlayer.transform.localPosition, RayDir);
 3             //加射线
 4             RaycastHit SceneHit;
 5             if (Physics.Raycast(SceneRay, out SceneHit, 5000, 1))
 6             {
 7                 if (null == SceneHit.collider ||
 8                     null == SceneHit.collider.gameObject)
 9                 {
10                     return;
11                 }
12                 if (SceneHit.collider.gameObject.name == "wushi_3_SnakeBody")
13                 {
14                 }
15             }

 

参考帖子:

Transform.Forward和Vector3.Forward的正确使用方法_linuxheik的专栏-CSDN博客_transform.forward

Unity Physics.Raycast 深入理解_pdw_jsp的专栏-CSDN博客

Physics.Raycast参数说明

上一篇:Swing——动作(Action)


下一篇:popStar机机对战数据生成器代码(C#)