private void LoadPolygonFromSprite()
{
#if UNITY_EDITOR
Rect r = spriteRenderer.sprite.rect;
Texture2D tex = spriteRenderer.sprite.texture;
IBitmap bmp = ArrayBitmap.CreateFromTexture(tex, new Rect(r.x, r.y, r.width, r.height));
var polygon = BitmapHelper.CreateFromBitmap(bmp);
polygon = SimplifyTools.DouglasPeuckerSimplify(new Vertices(polygon), simplify).ToArray();
Rect bounds = GetBounds(polygon);
float scalex = spriteRenderer.sprite.bounds.size.x / bounds.width;
float scaley = spriteRenderer.sprite.bounds.size.y / bounds.height;
polygon = polygon.Select(v => new Vector2(v.x * scalex, v.y * scaley) - (bounds.center * scalex) + (Vector2)spriteRenderer.sprite.bounds.center).ToArray();
verts = polygon.Select(v => new Vertex(spriteRenderer.transform.TransformPoint(v))).ToList();
segments = new List<Segment>();
AddSegment(verts[verts.Count - 1], verts[0]);
for(int i = 1; i < verts.Count; i++) {
AddSegment(verts[i - 1], verts[i]);
}
#endif
}