Unity3D NGUI 点击穿透问题的解决方案

当3D场景和NGUI共存时, 点击上方的UI层按钮, 下方的3D物体也会触发OnMouseDown事件, 而有时这是我们所不希望的.

解决方案:

如果3D场景中的物体只需要点击等简单的操作, 那么可以将2D/3D镜头的UI Camera组件的EventType属性分别设为UI/World, 来将3D物体和UI的点击事件分开.

1.为主摄像机添加UI Camera组件, 并将EventType设为World

2.将3D场景中需要添加点击的物体, 添加UIButton属性(NGUI-Attach-ButtonScipt)

时间: 2024-10-02 00:16:02

Unity3D NGUI 点击穿透问题的解决方案的相关文章

移动页面点击穿透问题解决方案

移动页面点击穿透问题解决方案 时间 2015-08-24 21:43:58  黯羽轻扬 原文  http://www.ayqy.net/blog/移动页面点击穿透问题解决方案/ 主题 JavaScript 一.click与300ms延迟 移动浏览器提供一个特殊的功能:双击(double tap)放大 300ms的延迟就来自这里,用户碰触页面之后,需要等待一段时间来判断是不是双击(double tap)动作,而不是立即响应单击(click),等待的这段时间大约是300ms.之前有过简单介绍: 黯羽

点击穿透问题(http://www.tuicool.com/articles/6NfaUnM)

一.click与300ms延迟 移动浏览器提供一个特殊的功能:双击(double tap)放大 300ms的延迟就来自这里,用户碰触页面之后,需要等待一段时间来判断是不是双击(double tap)动作,而不是立即响应单击(click),等待的这段时间大约是300ms.之前有过简单介绍: 黯羽轻扬:HTML5触摸事件 移动事件提供了 touchstart . touchmove . touchend 却没有提供tap支持,主流框架(库)都是手动实现了自定义tap事件,以求消除300ms延迟,提高

UGUI 点击穿透问题

unity上 用 做游戏欢迎界面上通用的ui,然后导到游戏里面直接用,但发现游戏里面是用ngui的,点击ugui 的ui 会穿透过去 ngui会响应,原本模型的点击处理也会响应 我用的 unity 版本 是 4.6.3的 本来是用   EventSystem.current.IsPointerOverGameObject()   来检测点击穿透的 在pc的unity编辑器上都可以检测到.可是打包到android 上 就无效,网上有的说以前的版本可以,不知道是不是之后的bug,还是有其他的接口 在

移动页面的点击穿透问题

点击穿透现象有3种: 点击穿透问题:点击蒙层(mask)上的关闭按钮,蒙层消失后发现触发了按钮下面元素的click事件 蒙层的关闭按钮绑定的是touch事件,而按钮下面元素绑定的是click事件,touch事件触发之后,蒙层消失了,300ms后这个点的click事件fire,event的target自然就是按钮下面的元素,因为按钮跟蒙层一起消失了 跨页面点击穿透问题:如果按钮下面恰好是一个有href属性的a标签,那么页面就会发生跳转 因为 a标签跳转默认是click事件触发 ,所以原理和上面的完

移动端300ms点击延迟和点击穿透问题

一.移动端300ms点击延迟 一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟.也就是说,当我们点击页面的时候移动端浏览器并不是立即作出反应,而是会等上一小会儿才会出现点击的效果.在移动WEB兴起的初期,用户对300ms的延迟感觉不明显.但是,随着用户对交互体验的要求越来越高,现今,移动端300ms的点击延迟逐渐变得明显而无法忍受. 那么,移动端300ms的点击延迟是怎么来的呢? 问题由来 这要追溯至 2007 年初.苹果公司在发布首款 iPho

# 移动端点击穿透问题

移动端点击穿透问题 点击遮罩层(mask,也叫蒙层)上的关闭按钮,蒙层消失后发现触发了按钮下main元素的click事件 原因:主要是touch和click同时存在,touch之后又触发了click 解决方案: 1.只用touch 既然是由于touch之后的click造成的,那么不用click自然解决了这个问题 需要注意a标签的href也是click,需要换成JavaScript:void(0) 2.只用click 下下策,因为300ms延迟,如果交互性要求不高可以这么做,但快一点总归是好的 3

点击穿透原理及解决

一.事件触发顺序 PC网页上的大部分操作都是用鼠标的,即响应的是鼠标事件,包括mousedown.mouseup.mousemove和click事件.一次点击行为,可被拆解成:mousedown -> mouseup -> click 三步. 手机上没有鼠标,所以就用触摸事件去实现类似的功能.touch事件包含touchstart.touchmove.touchend,注意手机上并没有tap事件.手指触发触摸事件的过程为:touchstart -> touchmove -> tou

[Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundle会将每一个组件使用的dynamicFont都分开打包进去. 导出函数请參考:导出资源 导出资源包时出现的问题: 如图: 在解决依赖关系上我使用过2种方案: 第一种是使用BuildPipeline中的PushAssetDependencies和PopAssetDependencies方法来解决依赖关

Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率 1.UIRoot:根据高度自适应屏幕分辨率. NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能. Scaling Style属性可选择三种不同的缩放策略. PixelPerfect 完美像素:直接显示设定好的像素.当屏幕高度低于minimum