NGUI在3D场景中点击穿透解决办法
2014-10-23 23:22
288 查看
参考资料:
1:http://www.unitymanual.com/thread-22018-1-1.html
2:http://blog.163.com/hongwei_benbear/blog/static/11839529120135181619944/
3:http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=33092&extra=page%3D1
今天终于碰到了 资料1 里所说的点透问题(刚开始开到的时候没明白什么意思),重新再看了一下,又了解了一下相关知识(UICamera),今天又学到东西了。
基本知识上面参考资料里的都一样,只是根据我的实际问题总结汇总了一下。
问题:
1。当点击UIButton时,鼠标会透过button点到地面,人物会移动;
2。点击UIbutton弹出背包弹窗,点击弹窗边缘,人物也会移动。
解决办法:
1.给所有NGUI 物体对象都添加BoxCollider,并勾选 isTrigger,这样才能触发碰撞;
2.添加一个全局类 在Update()里 时时 检测碰撞,代码如下:
1:http://www.unitymanual.com/thread-22018-1-1.html
2:http://blog.163.com/hongwei_benbear/blog/static/11839529120135181619944/
3:http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=33092&extra=page%3D1
今天终于碰到了 资料1 里所说的点透问题(刚开始开到的时候没明白什么意思),重新再看了一下,又了解了一下相关知识(UICamera),今天又学到东西了。
基本知识上面参考资料里的都一样,只是根据我的实际问题总结汇总了一下。
问题:
1。当点击UIButton时,鼠标会透过button点到地面,人物会移动;
2。点击UIbutton弹出背包弹窗,点击弹窗边缘,人物也会移动。
解决办法:
1.给所有NGUI 物体对象都添加BoxCollider,并勾选 isTrigger,这样才能触发碰撞;
2.添加一个全局类 在Update()里 时时 检测碰撞,代码如下:
void Update() { if(HitTestUI()) { //如果鼠标碰到了NGUI对象,则人物不能移动 } } private bool HitTestUI() { /********以下两种判读都可以*******/ //如果在主Camer上也挂一个UICamera,这两种判读会一直返回真(为什么呢???) //如果有碰到NGUI对象,返回真 if(UICamera.hoveredObject != null) { return true; } print("UICamera.Raycast___" + UICamera.Raycast(Input.mousePosition)); //如果从UICamer到当前鼠标位置的射线碰到了NGUI对象,返回真 //if(UICamera.Raycast(Input.mousePosition)) { return true; } return false; }
相关文章推荐
- Ngui 五种点击事件实现方式及在3d场景中点击穿透的情况
- 场景NGUI动态字体消失快速显现的临时解决办法
- Unity3D之NGUI的5种点击事件的实现方式及在3D场景中点透的情况
- 3D Text 穿透场景物体解决
- NGUI-五种点击事件实现方式及在3d场景中点透的情况
- SlidingDrawer控件点击事件会穿透给下面的界面--解决办法
- Ngui 五种点击事件实现方式及在3d场景中点透的情况
- h5 移动端 点击穿透 解决办法
- Fragment 点击穿透 解决办法
- Ngui 五种点击事件实现方式及在3d场景中点透的情况
- 控件点击事件会穿透给下面的界面--解决办法
- 控件点击事件会穿透给下面的界面--解决办法
- Tooblar +Drawerlayout 点击事件穿透解决办法
- 【Unity 3D 游戏引擎】NGUI 触摸UI和人物行走冲突的解决办法
- 针对NGUI点击穿透UI,场景响应的问题
- 控件点击事件会穿透给下面的界面--解决办法
- drawerlayout 点击事件穿透解决办法
- 透明控件点击事件穿透的解决办法
- eclipse在新版本GTK(2.18) 上的一个bug--鼠标点击按钮无响应的解决办法
- 关于sharepoint站点中点击word附件弹出用户认证框的解决办法