可以在update中检测当前点到了东西并且如果有需求的话可以判断是点到了gameobject .通过这样就行过滤。
这时候,比如ui有重叠,或者ui层跟实际的3d模型在点击的位置是重叠的,这时候就需要区分下,比如ui在上面,点到了某个ui需要穿透,响应下面的点击逻辑,而有的ui不需要穿透,对下面的东西是遮盖的关系。
对当前的点击事件处理,获得当前点击屏幕的位置,然后EventSystem.current.RaycastAll,通过位置点做一个射线检测,
对不同的gameobject通过不同的标记来区分,做不同的逻辑, 比如可以用tag来区分。
if (Input.GetMouseButtonDown(0)) {
if (EventSystem.current.IsPointerOverGameObject ()) {
PointerEventData eventDataCurrentPosition