Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 统一,游戏对象精灵(2D)如何移除透明部分?_Unity3d - Fatal编程技术网

Unity3d 统一,游戏对象精灵(2D)如何移除透明部分?

Unity3d 统一,游戏对象精灵(2D)如何移除透明部分?,unity3d,Unity3d,我把几张图片拼接成一张地图,我让它也可以点击。 但问题是图像本身有透明部分,所以当我点击“Section A”时,可能会触发“Section B”。因为“截面B”的透明部分是重叠在截面A上的区域 所以我的问题是,是否可能有任何属性可以像自动移除透明部分一样进行调整 还是必须手动调整碰撞器区域?因为我的图片有很多,如果手动一个一个的调整,那真的是花了很多时间 我使用Box Collider获取更多信息。选项1。挑选一些分层的精灵。访问每个精灵的纹理并从中读取像素,提供从鼠标位置、精灵在屏幕上的位置

我把几张图片拼接成一张地图,我让它也可以点击。 但问题是图像本身有透明部分,所以当我点击“Section A”时,可能会触发“Section B”。因为“截面B”的透明部分是重叠在截面A上的区域

所以我的问题是,是否可能有任何属性可以像自动移除透明部分一样进行调整

还是必须手动调整碰撞器区域?因为我的图片有很多,如果手动一个一个的调整,那真的是花了很多时间


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

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

备选案文2。用程序生成的网格碰撞器替换长方体碰撞器。该程序将接收与输入相同的sprite纹理,并使用marching squares算法生成轮廓。要将轮廓顶点转换为网格,该过程可以使用任何适用于凹多边形的三角化算法