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 有碰撞体,但是射线还是能传过去。。。。。

nfy5191336
nfy5191336 csdn 上 搞unity的特别少么?
大约一年之前 回复

1个回答

csdn上搞unity的人很少么?

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问