首页 > 其他分享 >Unity之UI穿透

Unity之UI穿透

时间:2024-08-14 16:08:27浏览次数:11  
标签:current Log EventSystem 物体 穿透 Unity UI

NGUI穿透

NGUI出现穿透的时候,通过UICamera.hoveredobject进行判断是否是在UI上即可。

问题 方法
UI穿透到了下方的非UI物体 通过EventSystem.current.IsPointerOverGameObject(),if(!EventSystem.current.IsPointerOverGameObject())进行UI逻辑
上一层UI穿透到下一层UI(常出现在显示一个面板,点击面板外出现穿透) 在整个面板下方加上一层Image的覆盖,并且接受射线检测
游戏物体穿透到了UI(UI被挡住但是却被触发) Canvas 上的 GraphicRaycaster ,通过设置Blocking Object 和 Blocking Mask ,通过这两个设置可以让点击反应只在游戏物体上触发,而不会穿透到UI上
//第一种情况
void Update () {
        //click on the 3D object
        if(Input.GetMouseButton(0))
        {
            Click();
        }
    }
    private void onm ouseDown()
    {
        Debug.Log("Capsule");
    }
    private void Click()
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hitInfo;
        if(Physics.Raycast(ray, out hitInfo))
        {
            //解决UI穿透到物体上
            if(!EventSystem.current.IsPointerOverGameObject())
            {
                Debug.Log("On Cube");
            }
            Debug.Log(hitInfo.collider.gameObject.name);
        }
    }

第三种情况,解决物体穿透到UI

标签:current,Log,EventSystem,物体,穿透,Unity,UI
From: https://www.cnblogs.com/guangzhiruijie/p/18359168

相关文章

  • 乌尔章6500级超精细插画杰作:绝美女孩的惊艳细节,8K CGUnity壁纸,电影级光影下的羞涩笑容
    6500级乌尔章风格插画,绝美女孩细节惊人,高清CGUnity8K壁纸,光影电影级照明,棕色头发下的光滑肌肤与闪亮流苏上衣,白色高腰短裤,咖啡厅中羞涩微笑,湿润的快乐表情,浅蓝色眼睛,手放腿间,展现顶级品质的官方艺术作品。正向提示词ulzzang-6500,(original:1.2),(realistic:1.3)(m......
  • 喜欢黑丝还是白丝?AI绘画工具 ComfyUI局部重绘助你实现丝袜自由!想看什么直接生成~
    大家好,我是灵魂画师向阳不得不承认,荷尔蒙才是第一生产力!什么?你不信!看看那些短视频平台,发个普通视频也就几百的播放量,随便发个美女都能轻松上千,还有比这更容易的吗?!好了,随便感叹一下,我们现在进入正文。这篇文章的主题和美女有关,不过并不是教大家生产美女视频,而是讲解如何使......
  • Sy.ExpressionBuilder 动态查询新体验
    省流模式,看下对比//常规查询varquery=users.WhereIf(m=>m.UserName.Contains(input.UserName),!string.IsNullOrEmpty(input.UserName)).WhereIf(m=>input.RoleIds.Contains(m.RoleId),input.RoleIds?.A......
  • Unity编辑器批量设置图片格式
    在游戏开发中,经常需要批量设置图片的格式为Sprite类型,手动设置太麻烦,下面的编辑器脚本实现选中文件夹右键/Texture/SetAllImagesToSpriteType实现批量设置图片格式,具体格式参数可自行定义usingSystem;usingSystem.IO;usingUnityEngine;usingUnityEditor;///<summary>......
  • unity中, 二维平面上,求从点A出发,沿着方向B,与线段C的交点
    代码说明:点A:起始点。方向B:一个方向向量,表示从点A出发的方向。线段C:由两个点C1和C2定义。1usingUnityEngine;23publicclassLineIntersection:MonoBehaviour4{5//返回从点A出发,沿着方向B,与线段C的交点。如果没有交点,则返回null6publicstati......
  • ComfyUI的安装和基础使用
    简介最近了解了一下AI画图,是通过ComfyUI工具入门的,这里记录一下该工具的安装和基本使用流程。本文的内容将涵盖:ComfyUI的安装ComfyUI的基本使用LoRA模型的使用一些插件推荐一些教程推荐硬件条件:一台通过AutoDL私有云访问的Linux服务器,单卡RTX4090,显存24G......
  • Android 10.0 SystemUI下拉状态栏QSTileView去掉着色效果显示彩色图标功能实现
    1.前言在10.0的系统rom定制化开发中,在关于SystemUI的下拉状态栏中QSTileView的背景颜色设置过程中,在由于系统原生有着色效果,导致现在某些彩色背景显示不是很清楚效果不好,所以需要去掉QSTileView的默认着色背景显示原生的彩色背景,接下来就来实现相关功能如图: 2.SystemUI......
  • Unity中利用遗传算法训练MLP
    Unity中利用遗传算法训练MLP梯度下降法训练神经网络通常需要我们给定训练的输入-输出数据,而用遗传算法会便捷很多,它不需要我们给定好数据,只需要随机化多个权重进行N次“繁衍进化”,就可以得出效果不错的网络。这种训练方式的好处就是不需要训练用的预期输出数据,适合那类可以简单......
  • Sy.ExpressionBuilder 也许会是动态查询的另一种实现方式
     1.该表达式插件通过模型继承获取对应的能力。目前提供的模型有QueryModel:基础查询类PageModel:分页查询参数类(默认每页分页20条)FullQueryModel:查询模型,对比QueryModel多了查询集合QueryItems和过滤FilterFields。前端可以在后端给与的基础上,添加查询参数,对于前端来说......
  • 在Unity中开发MQTT客户端
    概述:        在Unity环境中使用MQTTnet库(一个流行的.NET库,用于实现MQTT客户端和服务器。它支持.NETCore和.NETFramework,并提供了灵活的API以及高性能的实现)搭建自己的MQTT客户端.我使用的版本:Version=4.3.6.1152        但是在开发客户端之前,你需要......