Unity3D NGUI 给2D不规则图形加碰撞盒

开门见山,NGUI中点击一个组件非常常用,一般来说UIButton也好,UISprite也好,都是规则的图形,用NGUI实现点击都很简单,方法也有很多。但是碰到特殊情况,比如制作地图板块点击,都是不规则的图形,就需要进行一下简单的设置。在网上查了一些大家的做法,大多是用添加Polygon Collider2D不规则碰撞盒的方式再配合NGUI发送射线来实现。不过之前的教程都是较早的NGUI版本,需要手动添加射线发送,现在我用的NGUI版本是3.9.8,已经包含了对2D碰撞盒的检测,下面简单给大家说下使用过程。

  • 1、给一个不规则物体设置Polygon Collider2D
    这里写图片描述

  • 2、给这个物体添加UIButton组件(便于测试)
    这里写图片描述

  • 3、修改UICamera的Event Type为2D UI
    这里写图片描述

  • 4、测试下,运行后鼠标放到图片空白处无反应
    这里写图片描述
    放到中心区域后,触发UIButton组件颜色变化效果,证明触发碰撞盒。
    这里写图片描述

  • 最后:以上便是给不规则物体添加碰撞盒后用NGUI触发的方法。在NGUI的UICamera类下的Raycast方法中可以找到这段功能的写法,如果你的NGUI版本有这段判断或者在Unity编辑器下有这个选项那么都可以直接拿来用,然后在项目中用两个相机照规则物体和不规则物体就可以实现大部分想要的效果。

这里写图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值