Ejemplo n.º 1
0
        void WriteToThreeJS(ThreeSceneRoot root)
        {
            // wrilte to text file
            var sb     = new StringBuilder();
            var writer = new JsonWriter(sb);

            writer.PrettyPrint = true;
            writer.IndentValue = 2;

            root.ExportJson(writer);
            var content = sb.ToString();

            WriteExportedTextFile(content);
        }
Ejemplo n.º 2
0
        public void Export()
        {
            // 유니티 씬을 제대로 읽었는지 확인
            {
                var report = new Report("UnitySceneDump");
                report.UseConsole = false;

                var dumpVisitor = new DumpVisitor(report);
                dumpVisitor.Run(unitySceneRoot);

                report.SaveReportFile("unity-scene.log");
            }

            // 유니티씬을 threejs 씬으로 변환
            ThreeSceneRoot threeSceneRoot = null;
            {
                var report = new Report("ThreeSceneConvert");
                report.UseConsole = false;
                var visitor = new ThreeSceneConvertVisitor(report);
                threeSceneRoot = visitor.Run(unitySceneRoot);
            }

            // threejs 씬을 json으로 뽑기
            {
                var sb     = new StringBuilder();
                var writer = new JsonWriter(sb);
                writer.PrettyPrint = true;
                writer.IndentValue = 2;

                threeSceneRoot.ExportJson(writer);
                var report = new Report("ThreeSceneJson");
                report.UseConsole = false;
                report.Info(sb.ToString());

                // 일반 텍스쳐 export
                foreach (var el in threeSceneRoot.SharedNodeTable.GetEnumerable <ImageElem>())
                {
                    el.ExpoortImageFile(pathHelper);
                }


                report.SaveReportFile("demo.json");
            }
        }