1. 添加一个 Polygon Collider 2D组件
2. 拖拽图片到 Points 会自动生成多边形碰撞体 ,观察发现这个碰撞体是缩小了100倍左右的碰撞体
3. 放大碰撞体即可,添加一个放大碰撞体脚本即可,我这里用了Reset 函数:
Unity 自带函数 Reset() 的使用__Afra 的博客-CSDN博客_unity中reset方法
这里有个需要注意的是 不支持图片自定义缩放,所以你这个图片 需要SetNactive 一下
using UnityEngine;
public class UGUIPolygonCollider : MonoBehaviour
{
PolygonCollider2D poly2D;
Vector2[] pos_save;//存放PolygonCollider2D的Point点位
public float identity = 100f;
void Reset()
{
poly2D = GetComponent<PolygonCollider2D>();
SetPos();
}
void SetPos()
{
pos_save = poly2D.GetPath(0);
for (int i = 0; i < pos_save.Length; i++)
{
pos_save[i] = pos_save[i] * identity;
}
poly2D.SetPath(0, pos_save);
}
}