nfy5191336
nfy5191336
采纳率16.7%
2019-08-01 11:37 阅读 765

unity 射线方向问题,射线总是射到0.0.0上

void Update () {
        RaycastHit hit;
        Vector3 fwd = transform.TransformDirection(Vector3.forward);//创建一个射线的方向

        if (Physics.Raycast(transform.position, fwd, out hit, 10))//这里的“10”是射线的最大距离
        {


                ////划出射线,在scene视图中能看到的射线
                Debug.DrawLine(transform.position, hit.point, Color.yellow);

        }
        else
        {
            Debug.DrawLine(transform.position, hit.point, Color.red);
        }

    }

我这样子写,所有的射线都朝着 0.0.0 射过去了, 第二个方向参数怎么改都没用,

然后我在2d 里面试了一下 所有的射线又都朝着 摄像机坐标射过去,,

所以这个射线方向到底应该怎么写。。。

还有一个问题,这么写, 即使我在射线中添加 box 有碰撞体,但是射线还是能传过去。。。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • nfy5191336 nfy5191336 2019-08-02 20:27

    csdn上搞unity的人很少么?

    其实这个射线本身是没有问题的,但是射线是看不见的

    后面 debug 画的线,第二个参数 hit point,是null,因为没有射到什么东西嘛,,所以都默认射到0,0,0 了
    、、、

    点赞 评论 复制链接分享

相关推荐