Bläddra i källkod

Added producer and prettyprint for Unity3d exporter

David Catuhe 9 år sedan
förälder
incheckning
3982f1a341

+ 6 - 4
Exporters/Unity 5/Unity3D2Babylon/ExporterWindow.cs

@@ -2,11 +2,10 @@
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
-using JsonFx;
 using UnityEditor;
 using UnityEngine;
 using JsonFx.Json;
-using UnityEditor.SceneManagement;
+using UnityEngine.SceneManagement;
 
 namespace Unity3D2Babylon
 {
@@ -78,6 +77,9 @@ namespace Unity3D2Babylon
             EditorGUILayout.Space();
             GUILayout.Label("Physics options", EditorStyles.boldLabel);
             exportationOptions.ExportPhysics = EditorGUILayout.Toggle("Physics", exportationOptions.ExportPhysics);
+            EditorGUILayout.Space();
+            GUILayout.Label("Shadows options", EditorStyles.boldLabel);
+            exportationOptions.ExportShadows = EditorGUILayout.Toggle("Shadows", exportationOptions.ExportShadows);
 
             EditorGUILayout.Space();
             EditorGUILayout.Space();
@@ -114,7 +116,7 @@ namespace Unity3D2Babylon
         {
             try
             {
-                string sceneName = EditorSceneManager.GetActiveScene().name;
+                string sceneName = SceneManager.GetActiveScene().name;
 
                 exportationOptions.DefaultFolder = EditorUtility.SaveFolderPanel("Please select a folder", exportationOptions.DefaultFolder, "");
 
@@ -141,7 +143,7 @@ namespace Unity3D2Babylon
                 var outputFile = sceneBuilder.WriteToBabylonFile();
 
                 watch.Stop();
-                ReportProgress(1, string.Format("Exportation done in {0:0.00}s", watch.Elapsed.TotalSeconds));
+                ReportProgress(1, $"Exportation done in {watch.Elapsed.TotalSeconds:0.00}s");
                 EditorUtility.ClearProgressBar();
 
                 sceneBuilder.GenerateStatus(logs);

+ 12 - 1
Exporters/Unity 5/Unity3D2Babylon/SceneBuilder.cs

@@ -38,6 +38,14 @@ namespace Unity3D2Babylon
 
             babylonScene = new BabylonScene(OutputPath);
 
+            babylonScene.producer = new BabylonProducer
+            {
+                file = Path.GetFileName(outputPath),
+                version = "Unity3D",
+                name = SceneName,
+                exporter_version = "0.8"
+            };
+
             this.exportationOptions = exportationOptions;
         }
 
@@ -47,7 +55,10 @@ namespace Unity3D2Babylon
 
             var outputFile = Path.Combine(OutputPath, SceneName + ".babylon");
 
-            var jsWriter = new JsonWriter(new DataWriterSettings(new DataContractResolverStrategy()));
+            var settings = new DataWriterSettings(new DataContractResolverStrategy()) {PrettyPrint = true};
+
+            var jsWriter = new JsonWriter(settings);
+
             string babylonJSformat = jsWriter.Write(babylonScene);
             using (var sw = new StreamWriter(outputFile))
             {