public void CreateSimpleMesh(Vector2[] vertsToCopy, Transform transform)
    {
        Sprite  spr   = transform.GetComponent <SpriteRenderer>().sprite;
        Rect    rec   = spr.rect;
        Vector3 bound = transform.renderer.bounds.max - transform.renderer.bounds.min;



        //transform vertices
        Vector3[] vertices = new Vector3[vertsToCopy.Length];
        Vector2[] uvs      = new Vector2[vertsToCopy.Length];
        Vector3[] normals  = new Vector3[vertsToCopy.Length];


        int idx = 0;

        for (int i = 0; i < vertices.Length; i++)
        {
            vertices [idx] = new Vector3(vertsToCopy [idx].x, vertsToCopy [idx].y, 0);
            normals [idx]  = new Vector3(0, 0, -1);
            Vector2 newUv = new Vector2((vertsToCopy [idx].x / bound.x) + 0.5f, (vertsToCopy [idx].y / bound.y) + 0.5f);
            newUv.x *= rec.width / spr.texture.width;
            newUv.y *= rec.height / spr.texture.height;
            //Debug.Log(spr.textureRectOffset);
            newUv.x  += (rec.x) / spr.texture.width;
            newUv.y  += (rec.y) / spr.texture.height;
            uvs [idx] = newUv;
            idx++;
        }

        //transform triangles

        Puppet2D_Triangulator2 tri = new Puppet2D_Triangulator2(vertsToCopy);

        int[] triangles = tri.Triangulate();
        finalVertices  = vertices;
        finalTriangles = triangles;
        finalUvs       = uvs;
        finalNormals   = normals;
    }
    public void CreateSimpleMesh(Vector2[] vertsToCopy, Transform transform)
    {
        Sprite spr = transform.GetComponent<SpriteRenderer>().sprite;
        Rect rec = spr.rect;
        Vector3 bound = transform.GetComponent<Renderer>().bounds.max- transform.GetComponent<Renderer>().bounds.min ;

        //transform vertices
        Vector3[] vertices = new Vector3[vertsToCopy.Length];
        Vector2[] uvs = new Vector2[vertsToCopy.Length];
        Vector3[] normals = new Vector3[vertsToCopy.Length];

        int idx = 0;
        for (int i = 0; i < vertices.Length; i++)
        {
            vertices [idx] = new Vector3 (vertsToCopy [idx].x, vertsToCopy [idx].y, 0);
            normals [idx] = new Vector3 (0, 0, -1);
            Vector2 newUv = new Vector2 ((vertsToCopy [idx].x / bound.x) + 0.5f, (vertsToCopy [idx].y / bound.y) + 0.5f);
            newUv.x *= rec.width / spr.texture.width;
            newUv.y *= rec.height / spr.texture.height;
            //Debug.Log(spr.textureRectOffset);
            newUv.x += (rec.x) / spr.texture.width;
            newUv.y += (rec.y) / spr.texture.height;
            uvs [idx] = newUv;
            idx++;
        }

        //transform triangles

        Puppet2D_Triangulator2 tri = new Puppet2D_Triangulator2(vertsToCopy);
        int[] triangles = tri.Triangulate();
        finalVertices = vertices;
        finalTriangles = triangles;
        finalUvs = uvs;
        finalNormals = normals;
    }