在做项目的时候我是使用onMouseDown来处理点击3D物体的事件的,但发现在点击游戏UI的时候也会触发UI下面的3D物体的点击事件,这样可不行。
 于是我参考了这篇文章:
 https://blog.csdn.net/wealupa/article/details/117604939
修改成功!总结如下:
- 只触发上层UI,不触发UI下面的物体点击事件:
 使用上面那篇文章中的“通过事件,实现接口IPointerClickHandler”方法
 要点:-  给场景中的Camera添加PhysicsRaycaster脚本; 
-  在场景中添加事件系统EventSystem,如图操作:  
 点击 Add Default… 后出现如图: 
-  设置被点击物体(3D)物体,一定要带触发器(Collider),然后把点击后处理的脚本挂在被点击的物体上  
 脚本内容如下:
 
-  
using UnityEngine;
using UnityEngine.EventSystems; //要点
public class EventClick : MonoBehaviour,IPointerClickHandler //要点
{
    public void OnPointerClick(PointerEventData eventData)  //要点
    {
       print("点击了::"+this.name);
    }
}
- 既触发UI,又触发下面物体的点击事件
 使用onMouseDown函数
 要点:只用给物体添加collider和场景中添加事件系统EventSystem










