unity判断鼠标在不在UI上

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: unity判断鼠标在不在UI上

关于判断鼠标在不在UI上

unity有自带的方法,很简单,关于射线的穿透也可以用下面方法

下面是代码:

这里需要引用  using UnityEngine.EventSystems; 命名空间

EventSystem.current.IsPointerOverGameObject()==true 的时候表示鼠标在Ui上面

EventSystem.current.IsPointerOverGameObject()==false 的时候表示鼠标不在Ui上面


if (!EventSystem.current.IsPointerOverGameObject())

               {                

                   Debug.Log("不在UI上");

               }

               else

               {

                   Debug.Log("在UI上");

               }


关于射线穿透也可以这样用在射线的地方加入这个判断,就可以了

下面贴上简单的代码(一看就懂)

if (Input.GetMouseButtonUp(0))

       {

           ray = cameraa.ScreenPointToRay(Input.mousePosition);

           LayerMask ss = 1 << 9;//射线在第九层

           RaycastHit raycastHit;

           if (Physics.Raycast(ray, out raycastHit, ss) && !EventSystem.current.IsPointerOverGameObject())

           {

               //判断鼠标不在UI上且射线打到了物体

           }

       }


在手机端的话

EventSystem.current.IsPointerOverGameObject(Input .GetTouch (0).fingerId))=True 表示在UI上面

EventSystem.current.IsPointerOverGameObject(Input .GetTouch (0).fingerId))=false 表示不在UI上面

相关文章
|
4月前
|
编解码 前端开发 人机交互
【Unity 3D】UI系统中UGUI各个组件的详细讲解(附源码 超详细)
【Unity 3D】UI系统中UGUI各个组件的详细讲解(附源码 超详细)
81 0
|
4月前
|
编解码 前端开发 图形学
Unity 用脚本操作常用UI控件(上)
Unity 用脚本操作常用UI控件(上)
|
前端开发 图形学
Unity中影响UI排序的组件
Unity中影响UI排序的组件
|
移动开发 前端开发 小程序
|
图形学
Unity 编辑器开发实战【Custom Editor】- 为UI视图制作动画编辑器
Unity 编辑器开发实战【Custom Editor】- 为UI视图制作动画编辑器
199 1
Unity 编辑器开发实战【Custom Editor】- 为UI视图制作动画编辑器
|
前端开发 图形学
Unity & 蓝湖 关于UI工作流优化的思考(二)
Unity & 蓝湖 关于UI工作流优化的思考(二)
256 0
Unity & 蓝湖 关于UI工作流优化的思考(二)
|
JSON 前端开发 程序员
Unity & 蓝湖 关于UI工作流优化的思考
Unity & 蓝湖 关于UI工作流优化的思考
335 1
Unity & 蓝湖 关于UI工作流优化的思考
|
数据可视化 图形学 流计算
Unity 基础 之 代码动态监听UI交互组件汇总
通过介绍组件面板和代码示例,演示代码监听UI交互组件。
218 0
Unity 基础 之 代码动态监听UI交互组件汇总
物体交互操作之鼠标拖动物体任意移动(Unity3D)
物体交互操作非常的多,比如说用鼠标拖动物体移动,用鼠标拖动物体旋转,用鼠标滑动让物体放大和缩小。 下面就用代码演示一下如何使用鼠标拖动物体移动。
|
4月前
|
C# 图形学
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
50 0