【问题标题】:Unity Raycasting 2D with RayUnity Raycasting 2D with Ray
【发布时间】:2017-12-13 14:19:37
【问题描述】:

我想投射一个简单的Ray,但如果我把我的Ray 投射到光线投射功能中,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

【问题讨论】:

  • 如果您不显示变量的声明方式,我不知道人们如何发现您的问题。

标签: c# unity3d 2d raycasting


【解决方案1】:

您没有为 Debug.DrawRay() 和 Raycast() 提供正确的输入。请查看DrawRay documentationRaycast() 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多