void Start()
        {
            F3_VoxelData data = new F3_VoxelData();
            Face bottom = new Face(
                new Vector3[]
                {
                    new Vector3(0,0,0),
                    new Vector3(0,0,1),
                    new Vector3(1,0,1),
                    new Vector3(1,0,0),
                },

                new int[]
                {
                    0,3,1,
                    1,3,2
                },

                new Vector2[]
                {
                    new Vector2(0,0),
                    new Vector2(0,1),
                    new Vector2(1,0),
                    new Vector2(1,1),
                });

            Face right = new Face(
                new Vector3[]
                {
                    new Vector3(1,0,0),
                    new Vector3(1,1,0),
                    new Vector3(1,1,1),
                    new Vector3(1,0,0),
                },

                new int[]
                {
                    0,1,3,
                    1,2,3
                },

                new Vector2[]
                {
                    new Vector2(0,0),
                    new Vector2(0,1),
                    new Vector2(1,0),
                    new Vector2(1,1),
                });

            data.AddData(bottom.GetVoxelData());
            data.AddData(right.GetVoxelData());

            Mesh mesh = new Mesh();
            mesh.vertices = data.GetVertices().ToArray();
            mesh.triangles = data.GetTriangles().ToArray();
            mesh.uv = data.GetUvs().ToArray();

            mesh.RecalculateNormals();
            mesh.RecalculateBounds();
            mesh.Optimize();

            GetComponent<MeshFilter>().mesh = mesh;
            GetComponent<MeshCollider>().sharedMesh = mesh;
        }
        public Face(Vector3[] in_verts, int[] in_triangles, Vector2[] in_uvs)
        {
            Vector3[] vertices = in_verts;
            int[] triangles = in_triangles;
            Vector2[] uvs = in_uvs;

            m_data = new F3_VoxelData(vertices, triangles, uvs);
        }
 public void AddData(F3_VoxelData in_data)
 {
     AddData(in_data.GetVertices().ToArray(), in_data.GetTriangles().ToArray(), in_data.GetUvs().ToArray());
 }