Unity3D2Babylon.SceneBuilder.WriteToBabylonFile C# (CSharp) Method

WriteToBabylonFile() public method

public WriteToBabylonFile ( string outputFile ) : void
outputFile string
return void
        public void WriteToBabylonFile(string outputFile)
        {
            ExporterWindow.ReportProgress(1, "Preparing babylon scene file...");
            babylonScene.Prepare(false);
            if (SceneController != null && SceneController.manifestOptions.exportManifest)
            {
                if (!String.IsNullOrEmpty(this.ManifestData))
                {
                    var manifestFile = outputFile + ".manifest";
                    File.WriteAllText(manifestFile, this.ManifestData);
                }
            }
            ExporterWindow.ReportProgress(1, "Serializing babylon scene file... This may take a while.");
            using (var file = File.CreateText(outputFile))
            {
                var settings = new DataWriterSettings(new BabylonSceneContractResolver()) { PrettyPrint = true };
                var jsWriter = new JsonWriter(settings);
                jsWriter.Write(babylonScene, file);
            }
        }

Usage Example

コード例 #1
0
        public void Export(bool run)
        {
            try
            {
                string sceneName = EditorSceneManager.GetActiveScene().name;

                exportationOptions.DefaultFolder = EditorUtility.SaveFolderPanel("Please select a folder", exportationOptions.DefaultFolder, "");

                if (string.IsNullOrEmpty(exportationOptions.DefaultFolder))
                {
                    return;
                }

                Stopwatch watch = new Stopwatch();

                watch.Start();

                var jsWriter = new JsonWriter();
                File.WriteAllText("Unity3D2Babylon.ini", jsWriter.Write(exportationOptions));
                logs.Clear();

                ReportProgress(0);

                var sceneBuilder = new SceneBuilder(exportationOptions.DefaultFolder, sceneName, exportationOptions);

                sceneBuilder.ConvertFromUnity();

                ReportProgress(1, "Generating output file");
                var outputFile = sceneBuilder.WriteToBabylonFile();

                watch.Stop();
                ReportProgress(1, string.Format("Exportation done in {0:0.00}s", watch.Elapsed.TotalSeconds));
                EditorUtility.ClearProgressBar();

                sceneBuilder.GenerateStatus(logs);

                ShowMessage("Exportation done");

                if (run)
                {
                    WebServer.SceneFolder   = Path.GetDirectoryName(outputFile);
                    WebServer.SceneFilename = Path.GetFileName(outputFile);

                    Process.Start("http://localhost:" + WebServer.Port);
                }
            }
            catch (Exception ex)
            {
                EditorUtility.ClearProgressBar();
                ShowMessage("A problem occurred: " + ex.Message + ex.StackTrace, "Error");
            }
        }
All Usage Examples Of Unity3D2Babylon.SceneBuilder::WriteToBabylonFile