unity 不规则按钮设置

类似这种不规则按钮
在这里插入图片描述
找到当前按钮图片
在这里插入图片描述
将Mesh Type格式设置为Full Rect(提高像素检测)
勾选Read/Write Enbale
unity的image提供了一个alphaHitTestMinimumThreshold的属性,这个属性提供了一个限制鼠标检测的一个alpha值

GetComponent().alphaHitTestMinimumThreshold = 0.5f;
点击图片上像素的alpha值小于0.5的区域,程序就不会有响应,具体值自己设

 void Start()
    {
        GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;
    }

注:Full Rect和Tight两种Mesh Type的官方解释

总的来说就是,用Tight模式的话,如果你的图片周围有空白像素,它会帮你压缩掉减小面积,以减少DrawCall,但是会增加Sprite的面数。如果用Full Rect模式不会压缩,也不会增加面数,直接创建一个quab,然后把图片扔上去。如果尺寸小于32x32的话,Unity默认使用Full Rect格式导入,否则使用Tight格式导入。因此如果我们不对Mesh Type进行设置的话,原来的一些空白区域就相当于裁剪掉了,这样相对于左下角的坐标来说,一些像素坐标就发生了偏移,而我们使用的是像素检测方法,必然也会导致偏移误差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值