解决ngui在3d场景中 点透的情况

1.在ngui事件代码中做一个判断
如:

[C#] 纯文本查看 复制代码

viod OnClick()
{
if(UICamera.hoveredObject != null)
{
...
}
}

代表的意思是如果鼠标下面有NGUI物体就执行

2.通过射线来检测

[C#] 纯文本查看 复制代码

private RaycastHit _hit=new RaycastHit();.
if (UICamera.Raycast (Input.mousePosition, out _hit) == false)
{
。。。
} 

代表的意思是判断在UI界面层操作.

时间: 2025-01-17 08:46:52

解决ngui在3d场景中 点透的情况的相关文章

Ngui 五种点击事件实现方式及在3d场景中点透的情况

http://www.unity蛮牛.com/thread-22018-1-1.html ngui作为unity界面插件之一中,无疑是最好用,使用最多的了从自学unity到现在界面一直使用它 由于它的持续更新,我在此不得不说,确实很为开发者作想,为什么这么讲呢?大概在去年吧  当时用的那个版本已经不记得了,反正就是有个需求,要实现“无限循环”拖动,使用过以前ngui的人就知道当时是没有这个功能的,后来被自己弄出来没几天,就发现新版本中就自带了这样的东西,也就是如今ngui列子中的 Endless

Unity3D NGUI从背包中拖出并在场景中生成物体

http://www.cnblogs.com/zhanghaipeng-Unity3D/p/4732592.html 由于游戏需要从背包中拖出武器并在场景中相应的位置生成出来,所以研究了一下这个. 一般来说,在Unity3D开发中如果使用NGUI为游戏做UI,我们的场景和UI并不是使用一个相机进行渲染的,所以从背包中拖出物体并在场景相应的位置生成物体,就会涉及到UICamera和场景摄像机的转换.我在做这个时主要通过打射线来实现坐标转换. 如何创建一个可拖动的UI组件可以参考NGUI中的Exam

解析OBJ模型并将其加载到Unity3D场景中

??各位朋友,大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是http://qinyuanpei.com.今天想和大家交流的是解析obj模型并将其加载到Unity3D场景中,虽然我们知道Unity3D是可以直接导入OBJ模型的,可是有时候我们并不能保证我们目标客户知道如何使用Unity3D的这套制作流程,可能对方最终提供给我们的就是一个模型文件而已,所以这个在这里做这个尝试想想还是蛮有趣的呢,既然如此,我们就选择在所有3D模型格式中最为简单的OBJ模型来一起探讨这个问题吧! 关于OBJ模

Unity 弹出界面时屏蔽对3D场景的点击

注:这里的UI制作用的是NGUI插件 如题,在游戏中经常会遇到这种情况,场景中点击相关物体或者按钮弹出对应的2D界面,这时候除了2D界面上的可点击按钮等,应该屏蔽掉对3D场景的点击或者拖动事件. 在这里介绍两种方法: 1.对弹出的2D界面添加一个足够大的碰撞器,以覆盖整个屏幕: // 为道路信息面板添加碰撞器,以屏蔽弹出面板时鼠标对3D场景的点击事件 gameObject.AddComponent<BoxCollider>(); gameObject.GetComponent<BoxCo

VR技术在数据中心3D机房中的应用 (下)

VR技术在数据中心3D机房中的应用 (下) 前面给大家简单科普了一下VR的硬件设备以及VR在各个领域的应用,是不是觉得非常高大上?千言万语概括成一句话,VR能给用户带来前所未有的沉浸感和交互方式,让人足不出户就能够接触到外面的世界.世界那么大,我想去看看,可是我又懒,那该怎么办?于是,VR就这么火了. 相信很多人都跟我的朋友A一样,觉得VR是高科技,太先进,太高不可攀了.然而事实并不是这样.随着技术的普及,VR已经逐渐渗透到我们生活的方方面面.(没有做不到,只有你想不到) 有人说,2016年是V

在WebGL场景中使用2DA*寻路

  这篇文章将讨论如何在一个自定义的地面网格上进行简单的2D寻路,以及确定路径后如何使用基于物理引擎的运动方式使物体沿路径到达目标地点.读者需要预先对WebGL和Babylonjs知识有一些了解,可以参考我录制的WebGL入门视频教程和翻译的官方入门文档,当然也可以用自己喜欢的其他方式来学习. 文章主要分成如下几部分: 1.自定义地面网格与寻路矩阵 2.生成Babylon格式3D模型 3.使用pathfinding库进行2D寻路 4.基于cannon.js物理引擎使物体沿路径移动 场景可以通过h

UI和3D场景同时都需要响应触摸事件

比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分.为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上. 以前NGUI的时候都是自己来发送射线判断,现在UGUI好了系统提供了更为简便的方法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #if UNITY_AN

Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用

一.高可用的Session服务器场景简介 1.1 应用服务器的无状态特性 应用层服务器(这里一般指Web服务器)处理网站应用的业务逻辑,应用的一个最显著的特点是:应用的无状态性. PS:提到无状态特性,不得不说下Http协议.我们常常听到说,Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存与会话有关的任何信息.之所以我们在使用ASP.NET WebForm开发中会感觉不到Http的无状态特

cocos2dx2.2.2登录场景中Checkbox选择框的实现

在前两篇文章中,我们介绍了在注册场景中需要用到的输入框及弹出框的实现方式,这两篇文章中介绍的内容在登录场景同样会用到.而我们经常会在登录场景中见到的另一种元素就是自动登录或者记住密码的Checkbox选择框.那么,接下来就让我们看看这个选择框如何实现. 首先,我们先看一下效果 我们需要的就是一个Checkbox选择框,后面加上“自动登录”或者其他的文字.效果就是点击选择框或文字时,Checkbox的状态会进行切换:同时在程序中还要知道当前选择框的状态,只要我们能够实现这几点,这个功能就完成了.