Unity,GameObject Sprite(2D)如何删除透明部分?

时间:2014-08-19 18:02:09

标签: unity3d

我加入了几张图片作为地图,我也可以点击它。 但问题是图像本身有透明部分,所以当我点击“A部分”时,可能会触发“B部分”。因为“B部分”透明部分在A部分区域重叠。

所以我的问题是,是否可能有任何属性可以调整,就像它会自动删除透明部分?

或者必须手动调整碰撞区域?因为我的图像有很多,如果手动逐一调整,那么实际上需要花费很多时间。

我使用Box Collider获取更多信息。

1 个答案:

答案 0 :(得分:1)

选项1.选择一些分层精灵。访问每个精灵的纹理并从中读取像素,提供从鼠标位置精确提取的坐标,屏幕上的精灵位置和精灵提供的纹理边界。假设精灵的不透明部分没有相交,任何在给定坐标处具有不透明像素的精灵都将是拾取的结果。

选项2.用程序生成的网格对撞机替换盒子对撞机。该过程将接收与输入相同的精灵纹理,并使用例如行进方块算法生成轮廓。要将轮廓顶点转换为网格,该过程可以使用任何与凹面多边形一起使用的三角剖分算法。