bool CheckGuiRaycastObjects()
{
// PointerEventData eventData = new PointerEventData(Main.Instance.eventSystem);
PointerEventData eventData = new PointerEventData(EventSystem.current);
eventData.pressPosition = Input.mousePosition;
eventData.position = Input.mousePosition;
List<RaycastResult> list = new List<RaycastResult>();
// Main.Instance.graphicRaycaster.Raycast(eventData, list);
EventSystem.current.RaycastAll(eventData, list);
//Debug.Log(list.Count);
return list.Count > 0;
}
void Update()
{
if (CheckGuiRaycastObjects()) return;
RaycastHit hitInfo;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hitInfo, 100))
{
if (Input.GetMouseButtonDown(0))
{
if (hitInfo.transform.tag == "Ground")
{
_target.transform.localPosition = hitInfo.point;
}
}
}
}
Unity3D中防止射线穿透UI
最新推荐文章于 2024-05-31 11:03:58 发布