Unity不规则碰撞

在项目中UI不规则碰撞遇到很少,Unity中也有不规则的碰撞组件(Polygon Collider 2D)但是这种组件只能接受2D射线碰撞,而NGUI的是3D射线碰撞,需要在UICamera中修改代码才能实现。 这篇文章讲的不是这种碰撞,我要说的的方法不用修改代码,步骤如下:

1、让美术个你要的形状面片

这个就是我美术帮我做的扇形面片


2、然后再在面片上添加Mesh Collider组件


3、添加Camera 并添加UICamera脚本

这个是我添加的摄像机,我将它的Depth设置为1,优先级比UI事件的摄像机要高。


这个就是正常的UI摄像机

4、将UICamera的 Event Type 设置为 3D World

这样这个面片技能接受NGUI的点击事件了。


注意:将UICamera的 Event Type 设置为 3D World 是为了能够区分重叠的碰撞面片,这是要想点击最上面就可以改变位置的Z轴来实现。 还有就是UI事件根据Depth来判断点击到哪个Widget,这时就有两个UICamera来接受事件了 当这两个碰撞重合该如何处理呢?这时需要设置Camera的Depth,Depth大的优先。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值