我想要施放一个简单的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已定义
答案 0 :(得分:1)
您没有为Debug.DrawRay()和Raycast()提供正确的输入。请查看DrawRay documentation和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);