Unity点击UI时不与3D物体交互

前端之家收集整理的这篇文章主要介绍了Unity点击UI时不与3D物体交互前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

解决方案1:2D转3D
UI底背景铺一个热区 当点击到该热区时说明不被其他UI遮挡 这时再用该点发射3D射线 进行3D的碰撞检测

解决方案2:3D阻挡
用EventSystem.current.IsPointerOverGameObject()方法判断鼠标是否在UI上

public class Test : MonoBehavIoUr {

private void Update() {
    CheckMouseInput();
}

// 检测鼠标输入
private void CheckMouseInput() {
    // 左键点击
    if (Input.GetMouseButton(0) && !EventSystem.current.IsPointerOverGameObject()) {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if (Physics.Raycast(ray,out hit)) {
            // OK
        }
    }
}

}

猜你在找的程序笔记相关文章