【unity5学习记录】 raycast光线投射碰撞 17.8.5

这里球被我命名为po,并且作为camera子对象【unity5学习记录】 raycast光线投射碰撞 17.8.5

将这部分写在update中,脚本绑定在camera上

        RaycastHit hit;
        Vector3 fwd = transform.TransformDirection(Vector3.forward);    //获取摄像头向前的方向
        if (Physics.Raycast(transform.position, fwd, out hit)){      //当射线碰撞到有collider的物体时
            transform.FindChild("po").GetComponent().enabled = true;     //显示球;我的例子里这是个球。而且要注意把球的碰撞体去掉
            Debug.DrawLine(transform.position, hit.point, Color.red);   //scene视图中绘制射线
            transform.FindChild("po").transform.position = hit.point; //设置球为射线射到的点
        }
        else {//没有碰撞时
            transform.FindChild("po").GetComponent().enabled = false; //隐藏球
        }

【unity5学习记录】 raycast光线投射碰撞 17.8.5