在Unity中,当GUI与模型处于同一界面时,在操作界面的时候往往会屏蔽掉鼠标对模型的控制操作,这时我们可以使用unity的Raycast
功能进行判断是否选中了GUI控件:
bool CheckGuiRaycastObjects() { PointerEventData eventData = new PointerEventData(GameObject.Find("EventSystem").GetComponent<EventSystem>()); eventData.pressPosition = Input.mousePosition; eventData.position = Input.mousePosition; List<RaycastResult> list = new List<RaycastResult>(); GameObject.Find(strCanvas).GetComponent<GraphicRaycaster>().Raycast(eventData, list); //LogOut.Log(list.Count); return list.Count > 0; }
文章来源: Unity判断鼠标是否选中GUI