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
        }
    }
}

}

相关文章

这个问题和curl无法访问https资源是类似的,现在curl可以访问https资源,但是使用pecl安装扩展的时候不行...
在浏览器输入chrome://flags/回车,找到Omnibox UI Hide Steady-State URL Scheme and Trivial Subdoma...
方法一: 我们都知道Ubuntu有一个专门用来安装软件的工具apt,我们可以用它来全自动安装arm-linux-gcc。...
中文的windows下的cmd默认使用GBK的编码,敲代码时,页面使用的是UTF-8(65001),而powershell控制台默认...
提示错误: arm-linux-gcc:Command not found PATH里有/usr/oca/arm/bin,但是make的时候,就是找不到 a...
我在Graph API开发中用的最多的测试工具就是Graph Explore,这个是微软开发的网页版的Graph API的测试工...