鼠标拾取物体并且移动
来源:互联网 发布:淘宝 夜鹰 编辑:程序博客网 时间:2024/06/07 06:36
public Camera ca;private Ray ra;private RaycastHit hit;void Update{ if (Input.GetMouseButton(0)) { ra = ca.ScreenPointToRay(Input.mousePosition); //int laymask=2的n次方 if (Physics.Raycast(ra, out hit, 100, 256) && Input.GetKey(KeyCode.LeftAlt) == false&&EventSystem.current.IsPointerOverGameObject()==false) { hit.collider.gameObject.transform.position = ca.ScreenToWorldPoint (new Vector3(Input.mousePosition.x, Input.mousePosition.y, hit.collider.gameObject.transform.position.z + 12)); //这个12是物体和Camera之间z方向的距离,如果不加的话,你可以试下。。。。 } }}
//阻挡射线穿透的问题
//EventSystem.current.IsPointerOverGameObject()的值为false,说明鼠标点击到了3D物体,为true说明点击的是ui。
阅读全文