Unity3D中避免在点击UGUI的按钮时触发射线检测方法

在Unity3D中,我们经常需要通过射线检测对物体进行相关操作,但是常常会遇到当我们点击按钮时,射线检测同样会执行,为解决这种问题的困扰,我们需要判断该物体是否是给定的EventSystem对象。

//通过if进行判断即可
if (!EventSystem.current.IsPointerOverGameObject())
    Ray ray = .....

需要注意的是,在设置过程中如果有需要射线可以穿透的部分,可以将这部分Panel或其他控件中的Image组件上的Raycast Target去掉,不然射线是不能穿过去的。
详情可参考这篇博客

猜你喜欢

转载自blog.csdn.net/beihuanlihe130/article/details/75229280