UI和3D物体的堆叠响应

一.问题:当3D物体和UI元素重叠显示时一般UI元素会遮挡物体,这时点击UI元素响应时UI后方的物体也会响应。

private void OnMouseDown()
    {
        ChangeColor();
    }

3D物体使用OnMouseDown方法接收响应

public class ImageColor : MonoBehaviour,IPointerClickHandler
    public void OnPointerClick(PointerEventData eventData)
    {
        ChangeColor();
    }

UI元素实现IPointerClickHandler接口接收响应

二.解决方案:3D物体也使用接口的方式接收响应

 在MainCamera上添加PhysicsRaycaster进行射线检测

public class Cube : MonoBehaviour,IPointerClickHandler
    public void OnPointerClick(PointerEventData eventData)
    {
        ChangeColor();
    }

在3D物体上实现IPointerClickHandler接口接收响应

原文地址:https://www.cnblogs.com/movin2333/p/14313928.html