
光线投射(Raycast)在 Unity 游戏场景中显示光线可以让我们可视化观看到该射线的移动的方向,确保可以准确无误到达我们想要的位置,那怎么在场景种显示光线呢?
在 Unity 中的 Debug 类中包括一个 Draw Ray 函数,它允许在场景中渲染光线。例如下面的代码:
Debug.DrawRay(Vector3 origin, Vector3 direction);
此功能可用于让射线到达想要的位置。例如,我们还可以改一改,定义一个用于光线投射函数的射线变量。 例如下面的代码:
Ray ray = new Ray(transform.position, transform.forward);
然后,使用 Draw Ray 函数渲染一条可见的线,传入与创建光线相同的值。例如下面的代码:
Debug.DrawRay(ray.origin, ray.direction * 10);
以上代码 ray.direction(射线方向)的值是乘以 10 的,因为在射线变量中用于方向的向量 3 是标准化的,通常它的大小长度为 1。
将方向值乘以射线的距离(这里乘了10),那么就可以将实际使用的射线长度与绘制线的长度相匹配。