Unity UI检测碰撞
2016-07-11 14:49
399 查看
using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class Test : MonoBehaviour { void Update () { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitinfo; if(Physics.Raycast(ray,out hitinfo)) { GameObject obt = hitinfo.collider.gameObject; if(obt.name == "Cube" && EventSystem.current.IsPointerOverGameObject()==false) { print("碰到了3D模型"); } } if (EventSystem.current.IsPointerOverGameObject()) { print("射线检测UI成功"); } else { print("没有检测到射线"); } } } }
避免射线穿过UI而对UI层下的游戏对象产生干涉。
相关文章推荐
- Kinect结合Unity3D引擎开发体感游戏(一)
- Unity3D中脚本的执行顺序和编译顺序
- Unity3D动态对象优化代码分享
- Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作
- Unity3d获取系统时间
- unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk)
- Unity3D游戏引擎实现在Android中打开WebView的实例
- unity3d调用手机或电脑摄像头
- Unity3d发布IOS9应用时出现中文乱码的解决方法
- 分享一个开源的网络游戏服务器架构—HouHai
- Unity3D插件详细评测及教学下载
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关