private List <SpriteBoneData> CreateSpriteBoneData()
        {
            var spriteBones = new SpriteBone[2]
            {
                new SpriteBone()
                {
                    name     = "root",
                    parentId = -1,
                    position = Vector2.one,
                    rotation = Quaternion.Euler(0.0f, 0.0f, 30.0f),
                    length   = 1.0f
                },
                new SpriteBone()
                {
                    name     = "child1",
                    parentId = 0,
                    position = Vector3.up,
                    rotation = Quaternion.Euler(0.0f, 0.0f, 60.0f),
                    length   = 1.5f
                }
            };

            return(MeshModuleUtility.CreateSpriteBoneData(spriteBones.ToList(), Matrix4x4.identity));
        }
        private List <SpriteBoneData> CreateBones()
        {
            List <SpriteBone> spriteBones = new List <SpriteBone>();

            spriteBones.Add(new SpriteBone()
            {
                name     = "root",
                length   = 1f,
                parentId = -1,
                position = Vector2.zero,
                rotation = Quaternion.identity
            });

            spriteBones.Add(new SpriteBone()
            {
                name     = "bone 0",
                length   = 1f,
                parentId = 0,
                position = Vector2.right,
                rotation = Quaternion.identity
            });

            return(MeshModuleUtility.CreateSpriteBoneData(spriteBones, Matrix4x4.identity));
        }
        public void ConvertBoneMetadataToTextureSpace_RegardlessOfOrder(List <SpriteBone> original, List <Vector2> expectedPositions, List <Vector2> expectedEndPosition)
        {
            List <SpriteBoneData> spriteBoneData = MeshModuleUtility.CreateSpriteBoneData(original, Matrix4x4.identity);

            VerifyApproximatedSpriteBones(spriteBoneData, expectedPositions, expectedEndPosition);
        }