Unity Raycasting 2D 与光线
Unity Raycasting 2D with Ray
我想投射一个简单的 Ray
,但是如果我把我的 Ray
投射到 Raycast 函数中,Unity 一直坚持使用 Vector2
作为原点接受光线的来源和方向。所以在代码中演示:
void Start()
{
RayUp = new Ray2D(transform.position, Vector2.up);
}
void Update()
{
Physics2D.Raycast(RayUp, out WallUp, distance, WallFilter);
Debug.DrawRay(RayUp);
}
我错过了什么吗?
WallUp、distance 和 WallFilter 已定义
您没有为 Debug.DrawRay() 和 Raycast() 提供正确的输入。请看一下DrawRay documentation and Raycast() documentation。
您至少可以做到:
Physics2D.Raycast(transform.position, Vector2.up);
Debug.DrawRay(transform.position, Vector2.up);
如果您想保持原始 RayUp 变量的一致性,您可以这样做:
Physics2D.Raycast(RayUp.origin, RayUp.direction);
Debug.DrawRay(RayUp.origin, RayUp.direction);
我想投射一个简单的 Ray
,但是如果我把我的 Ray
投射到 Raycast 函数中,Unity 一直坚持使用 Vector2
作为原点接受光线的来源和方向。所以在代码中演示:
void Start()
{
RayUp = new Ray2D(transform.position, Vector2.up);
}
void Update()
{
Physics2D.Raycast(RayUp, out WallUp, distance, WallFilter);
Debug.DrawRay(RayUp);
}
我错过了什么吗? WallUp、distance 和 WallFilter 已定义
您没有为 Debug.DrawRay() 和 Raycast() 提供正确的输入。请看一下DrawRay documentation and Raycast() documentation。 您至少可以做到:
Physics2D.Raycast(transform.position, Vector2.up);
Debug.DrawRay(transform.position, Vector2.up);
如果您想保持原始 RayUp 变量的一致性,您可以这样做:
Physics2D.Raycast(RayUp.origin, RayUp.direction);
Debug.DrawRay(RayUp.origin, RayUp.direction);