public static OBJ_MTL_TXT MeshToString(GameObject go, string filename)
        {
            Dictionary <string, string> MTLS = new Dictionary <string, string>();

            filename = filename.Replace(" ", "_");

            FileInfo fi          = new FileInfo(filename);
            string   objFileName = fi.Name + ".obj";
            string   mtlFileName = fi.Name + ".mtl";

            int    indexLastTriangle = 0;
            string chaineOBJ         = "#JJO\nmtllib " + mtlFileName + "\n\n";

            MeshToString(go, MTLS, ref chaineOBJ, ref indexLastTriangle);

            StringBuilder sb = new StringBuilder();

            sb.Append("#JJO\n");
            foreach (string clef in MTLS.Keys)
            {
                sb.Append("newmtl " + clef).Append("\n");
                sb.Append(MTLS[clef]).Append("\n");
                sb.Append("\n");
            }

            OBJ_MTL_TXT om = new OBJ_MTL_TXT()
            {
                mtl         = sb.ToString(),
                obj         = chaineOBJ,
                objfilename = objFileName,
                mtlfilename = mtlFileName
            };

            return(om);
        }
            public static void ToFile(OBJ_MTL_TXT obj_mtl_txt, string directory = "")
            {
                if (directory != "")
                {
                    DirectoryInfo di = new DirectoryInfo(directory);
                    if (!di.Exists)
                    {
                        di.Create();
                    }

                    obj_mtl_txt.objfilename = di.FullName + "\\" + obj_mtl_txt.objfilename;
                    obj_mtl_txt.mtlfilename = di.FullName + "\\" + obj_mtl_txt.mtlfilename;
                }

                using (StreamWriter sw = new StreamWriter(obj_mtl_txt.mtlfilename))
                    sw.Write(obj_mtl_txt.mtl);
                using (StreamWriter sw = new StreamWriter(obj_mtl_txt.objfilename))
                    sw.Write(obj_mtl_txt.obj);
            }
        public static void MeshToFile(GameObject go, string filename)
        {
            OBJ_MTL_TXT om = MeshToString(go, filename);

            OBJ_MTL_TXT.ToFile(om, filename);
        }