UGUI - 实现不规则形状按钮的点击事件

一般情况

通常,我们的按钮都是矩形的,并且可触碰的范围也是矩形的,比如下图

UGUI - 实现不规则形状按钮的点击事件


特殊需求

比如下图这种特殊形状的按钮,需要只点击有颜色的部分响应,没有颜色的部分不响应

UGUI - 实现不规则形状按钮的点击事件


实现步骤

1. 设置Canvas

UGUI - 实现不规则形状按钮的点击事件

配置UI摄像机,Sorting Layer追加一层不规则按钮专用的图层

2. 配置作为按钮的Sprite(因为需要用到Collider)

UGUI - 实现不规则形状按钮的点击事件


3. 配置Collider

UGUI - 实现不规则形状按钮的点击事件

重点是自动生成的这些顶点数据,构成的判定区域是否为想要的

UGUI - 实现不规则形状按钮的点击事件

4. 使用EasyTouch等插件 or 自己实现摄像机发出的射线检测,响应碰撞事件

UGUI - 实现不规则形状按钮的点击事件