首页 > 其他分享 >射线检测 UGUI UI点击穿透问题

射线检测 UGUI UI点击穿透问题

时间:2022-11-29 20:11:06浏览次数:47  
标签:current EventSystem 穿透 点击 UI result eventData new UGUI

1.首先检测是否点击到UI

public static bool IsPointerOverUIObject()//检测是否点击到ui
    {
        if (EventSystem.current != null)
        {
            PointerEventData eventData = new PointerEventData(EventSystem.current);
            eventData.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
            List<RaycastResult> result = new List<RaycastResult>();
            EventSystem.current.RaycastAll(eventData, result);
            return result.Count > 0;
        }
        return false;
    }

2.点击到UI之后判断是否需要点击到3D场景

 if (IsPointerOverUIObject() != false)
 {
     //to do
 }
 else
 {
     //to do
 }

备用

PointerEventData eventData = new PointerEventData(EventSystem.current);
eventData.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
List<RaycastResult> result = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventData,result);
 
for (int i = 0; i < result.Count; i++)
{
       print(result[i].gameObject.name);
}

 

标签:current,EventSystem,穿透,点击,UI,result,eventData,new,UGUI
From: https://www.cnblogs.com/dj1232090/p/16936549.html

相关文章

  • build a python env on ubuntu20.04
    buildapythonenvonubuntu20.04fixvirtualenvwarpper(Ubuntu20.04安装virtualenv方法以及安装过程中遇到的问题处理)[https://blog.csdn.net/qq_42296146/article/d......
  • 使用 SAP WebIDE 将 SAP UI5 应用部署到 ABAP 系统时遇到的关于传输请求的错误
    有朋友遇到一个在webide里部署SAPUI5应用到ABAPRepository里时出错的问题:错误消息:Failedtogettransportsfortheselectedpackage.RequestPOST/webided......
  • 基于DDD的CQRS架构下的Equinox开源项目(转载)
    原文:基于DDD的CQRS架构下的Equinox开源项目-春光牛牛-博客园(cnblogs.com)一.DDD分层架构介绍本篇分析CQRS架构下的Equinox开源项目。该项目在github上star占有2.4k......
  • element-ui中el-table设置多选checkbox时,selection-change重复执行,以及选不中问题
    项目中使用了elementUI中el-table的选择框。在另外一个地方展示选中的行的数量。设置显示数量之后,选择框就无法选中,change事件执行两次。解决办法:给el-table设置row-key,并......
  • layui行转列的偷懒写法
     vartempCols=[];//转换后的列头vartempData=[]; varentcount={};//转换后的第一行,也就是原来的第一列......
  • layui10
    1.table数据表格文档1.三种初始化渲染方式方式机制适用场景 01.方法渲染用JS方法的配置完成渲染(推荐)无需写过多的HTML,在JS中指定原始元素,再设定各项参数......
  • flutter使用getwidget的ui组件库的底部导航用法
    参考github上getwidget-app-kit import'package:flutter/material.dart';import'package:getwidget/getwidget.dart';import'package:flutter/cupertino.dart';......
  • 不好意思,UUID 该换了!
    ULID:UniversallyUniqueLexicographicallySortableIdentifier(通用唯一词典分类标识符)UUID:UniversallyUniqueIdentifier(通用唯一标识符)为什么不选择UUIDUUID目前有......
  • 瓴羊Quick BI企业数据分析工具,公司运营实时掌控
    众所周知,数字化管理是企业通过信息技术融合应用,打通数据链条,提升企业数据价值挖掘、产品业务创新、推动企业战略转型、构建数据驱动型现代化企业的重要举措。随着新一代企业......
  • layui6
    列边距​经过“列间距”的预设类,来设定列之间的间距。且一行中最左的列不会出现左边距,最右的列不会出现右边距。列间距在保证排版美观的同时,还能够进一步保证分列的宽度......