Exemple #1
0
        static string processTransform(Transform t, bool makeSubmeshes)
        {
            StringBuilder meshString = new StringBuilder();

            meshString.Append("#" + t.name + "\n#-------"
                              + "\n");

            if (makeSubmeshes)
            {
                meshString.Append("g ").Append(t.name).Append("\n");
            }

            MeshFilter mf = t.GetComponent <MeshFilter>();

            if (mf)
            {
                meshString.Append(MeshToObjString.Do(mf, t));
            }

            for (int i = 0; i < t.childCount; i++)
            {
                meshString.Append(processTransform(t.GetChild(i), makeSubmeshes));
            }

            return(meshString.ToString());
        }
Exemple #2
0
        public static void SaveOBJFile(string path)
        {
            MeshToObjString.Start();
            StringBuilder meshString = new StringBuilder();

            Transform t = Selection.gameObjects[0].transform;

            Vector3 originalPosition = t.position;

            t.position = Vector3.zero;

            if (!makeSubmeshes)
            {
                meshString.Append("g ").Append(t.name).Append("\n");
            }
            meshString.Append(processTransform(t, makeSubmeshes));

            VIO.WriteToFile(meshString.ToString(), path);

            t.position = originalPosition;

            MeshToObjString.End();
        }