【unity5学习记录】 raycast光线投射碰撞 17.8.5
这里球被我命名为po,并且作为camera子对象
将这部分写在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; //隐藏球
}