Browse Source

Max2Babylon: UI Update

David Catuhe 11 years ago
parent
commit
e50bb16cc5

BIN
Exporters/3ds Max/Max2Babylon-0.5.5.zip


+ 5 - 5
Exporters/3ds Max/Max2Babylon/Exporter/BabylonExporter.Mesh.cs

@@ -115,17 +115,17 @@ namespace Max2Babylon
 
                 if (mesh.NumFaces < 1)
                 {
-                    RaiseError(string.Format("Mesh {0} has no face", babylonMesh.name));
+                    RaiseError(string.Format("Mesh {0} has no face", babylonMesh.name), 2);
                 }
 
                 if (mesh.NumVerts < 3)
                 {
-                    RaiseError(string.Format("Mesh {0} has not enough vertices", babylonMesh.name));
+                    RaiseError(string.Format("Mesh {0} has not enough vertices", babylonMesh.name), 2);
                 }
 
                 if (mesh.NumVerts >= 65536)
                 {
-                    RaiseError(string.Format("Mesh {0} has too many vertices (more than 65535)", babylonMesh.name));
+                    RaiseError(string.Format("Mesh {0} has too many vertices (more than 65535)", babylonMesh.name), 2);
                 }
 
                 // Material
@@ -187,11 +187,11 @@ namespace Max2Babylon
 
                 if (vertices.Count >= 65536)
                 {
-                    RaiseError(string.Format("Mesh {0} has too many vertices: {1} (limit is 65535)", babylonMesh.name, vertices.Count));
+                    RaiseError(string.Format("Mesh {0} has too many vertices: {1} (limit is 65535)", babylonMesh.name, vertices.Count), 2);
 
                     if (!optimizeVertices)
                     {
-                        RaiseError("You can try to optimize your object using [Try to optimize vertices] option");
+                        RaiseError("You can try to optimize your object using [Try to optimize vertices] option", 2);
                     }
                 }
 

+ 8 - 8
Exporters/3ds Max/Max2Babylon/Exporter/BabylonExporter.Texture.cs

@@ -48,7 +48,7 @@ namespace Max2Babylon
             babylonTexture.coordinatesIndex = uvGen.MapChannel - 1;
             if (uvGen.MapChannel > 2)
             {
-                RaiseWarning(string.Format("Unsupported map channel, Only channel 1 and 2 are supported."));
+                RaiseWarning(string.Format("Unsupported map channel, Only channel 1 and 2 are supported."), 2);
             }
 
             babylonTexture.uOffset = uvGen.GetUOffs(0);
@@ -90,7 +90,7 @@ namespace Max2Babylon
 
             // Animations
             var animations = new List<BabylonAnimation>();
-            ExportFloatAnimation("uOffset", animations, key => new []{uvGen.GetUOffs(key)});
+            ExportFloatAnimation("uOffset", animations, key => new[] { uvGen.GetUOffs(key) });
             ExportFloatAnimation("vOffset", animations, key => new[] { uvGen.GetVOffs(key) });
             ExportFloatAnimation("uScale", animations, key => new[] { uvGen.GetUScl(key) });
             ExportFloatAnimation("vScale", animations, key => new[] { uvGen.GetVScl(key) });
@@ -105,22 +105,22 @@ namespace Max2Babylon
             {
                 if (File.Exists(texture.MapName))
                 {
-                    File.Copy(texture.MapName, Path.Combine(babylonScene.OutputPath, babylonTexture.name), true);
-                    if (Path.GetExtension(texture.MapName).ToLower() == ".dds")
+                    if (CopyTexturesToOutput)
                     {
-                        babylonTexture.isCube = Tools.IsTextureCube(texture.MapName);
+                        File.Copy(texture.MapName, Path.Combine(babylonScene.OutputPath, babylonTexture.name), true);
                     }
+                    babylonTexture.isCube = Tools.IsTextureCube(texture.MapName);
                 }
                 else
                 {
                     var texturepath = Path.Combine(Path.GetDirectoryName(Loader.Core.CurFilePath), babylonTexture.name);
                     if (File.Exists(texturepath))
                     {
-                        File.Copy(texturepath, Path.Combine(babylonScene.OutputPath, babylonTexture.name), true);
-                        if (Path.GetExtension(texture.MapName).ToLower() == ".dds")
+                        if (CopyTexturesToOutput)
                         {
-                            babylonTexture.isCube = Tools.IsTextureCube(texturepath);
+                            File.Copy(texturepath, Path.Combine(babylonScene.OutputPath, babylonTexture.name), true);
                         }
+                        babylonTexture.isCube = Tools.IsTextureCube(texturepath);
                     }
                     else
                     {

+ 13 - 2
Exporters/3ds Max/Max2Babylon/Exporter/BabylonExporter.cs

@@ -24,6 +24,7 @@ namespace Max2Babylon
         readonly List<string> alreadyExportedTextures = new List<string>();
 
         public bool IsCancelled { get; set; }
+        public bool CopyTexturesToOutput { get; set; }
 
         private bool exportQuaternionsInsteadOfEulers;
 
@@ -73,7 +74,7 @@ namespace Max2Babylon
             }
         }
 
-        public void Export(string outputFile)
+        public void Export(string outputFile, bool generateManifest, Form callerForm)
         {
             IsCancelled = false;
             RaiseMessage("Exportation started");
@@ -93,6 +94,11 @@ namespace Max2Babylon
             RaiseMessage("Saving 3ds max file");
             var forceSave = Loader.Core.FileSave;
 
+            if (callerForm != null)
+            {
+                callerForm.BringToFront();
+            }
+
             // Global
             babylonScene.autoClear = true;
             babylonScene.clearColor = Loader.Core.GetBackGround(0, Interval.Forever._IInterval).ToArray();
@@ -113,7 +119,7 @@ namespace Max2Babylon
                 {
                     mainCamera = babylonScene.CamerasList[0];
                     babylonScene.activeCameraID = mainCamera.id;
-                    RaiseMessage("Active camera set to " + mainCamera.name, 1, true);
+                    RaiseMessage("Active camera set to " + mainCamera.name, Color.Green, 1, true);
                 }
             }
 
@@ -205,6 +211,11 @@ namespace Max2Babylon
             }
             File.WriteAllText(outputFile, sb.ToString());
 
+            if (generateManifest)
+            {
+                File.WriteAllText(outputFile + ".manifest", "{\r\n\"version\" : 1,\r\n\"enableSceneOffline\" : true,\r\n\"enableTexturesOffline\" : true\r\n}");
+            }
+
             ReportProgressChanged(100);
 
             RaiseMessage("Exportation done");

+ 105 - 29
Exporters/3ds Max/Max2Babylon/Forms/ExporterForm.Designer.cs

@@ -37,8 +37,14 @@
             this.progressBar = new System.Windows.Forms.ProgressBar();
             this.treeView = new System.Windows.Forms.TreeView();
             this.butCancel = new System.Windows.Forms.Button();
-            this.pictureBox1 = new System.Windows.Forms.PictureBox();
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            this.pictureBox2 = new System.Windows.Forms.PictureBox();
+            this.chkManifest = new System.Windows.Forms.CheckBox();
+            this.chkQuaternions = new System.Windows.Forms.CheckBox();
+            this.label2 = new System.Windows.Forms.Label();
+            this.chkCopyTextures = new System.Windows.Forms.CheckBox();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
+            this.groupBox1.SuspendLayout();
             this.SuspendLayout();
             // 
             // butExport
@@ -46,9 +52,9 @@
             this.butExport.Anchor = System.Windows.Forms.AnchorStyles.Top;
             this.butExport.Enabled = false;
             this.butExport.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.butExport.Location = new System.Drawing.Point(368, 51);
+            this.butExport.Location = new System.Drawing.Point(313, 153);
             this.butExport.Name = "butExport";
-            this.butExport.Size = new System.Drawing.Size(80, 23);
+            this.butExport.Size = new System.Drawing.Size(197, 27);
             this.butExport.TabIndex = 0;
             this.butExport.Text = "Export";
             this.butExport.UseVisualStyleBackColor = true;
@@ -57,7 +63,7 @@
             // label1
             // 
             this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(150, 9);
+            this.label1.Location = new System.Drawing.Point(6, 17);
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(52, 13);
             this.label1.TabIndex = 2;
@@ -67,9 +73,9 @@
             // 
             this.txtFilename.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.txtFilename.Location = new System.Drawing.Point(150, 25);
+            this.txtFilename.Location = new System.Drawing.Point(18, 33);
             this.txtFilename.Name = "txtFilename";
-            this.txtFilename.Size = new System.Drawing.Size(481, 20);
+            this.txtFilename.Size = new System.Drawing.Size(420, 20);
             this.txtFilename.TabIndex = 3;
             this.txtFilename.TextChanged += new System.EventHandler(this.txtFilename_TextChanged);
             // 
@@ -77,7 +83,7 @@
             // 
             this.butBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
             this.butBrowse.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.butBrowse.Location = new System.Drawing.Point(637, 22);
+            this.butBrowse.Location = new System.Drawing.Point(444, 31);
             this.butBrowse.Name = "butBrowse";
             this.butBrowse.Size = new System.Drawing.Size(43, 23);
             this.butBrowse.TabIndex = 4;
@@ -95,9 +101,9 @@
             // 
             this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.progressBar.Location = new System.Drawing.Point(153, 418);
+            this.progressBar.Location = new System.Drawing.Point(12, 516);
             this.progressBar.Name = "progressBar";
-            this.progressBar.Size = new System.Drawing.Size(441, 23);
+            this.progressBar.Size = new System.Drawing.Size(713, 23);
             this.progressBar.TabIndex = 5;
             // 
             // treeView
@@ -105,9 +111,9 @@
             this.treeView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
             | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.treeView.Location = new System.Drawing.Point(153, 80);
+            this.treeView.Location = new System.Drawing.Point(12, 186);
             this.treeView.Name = "treeView";
-            this.treeView.Size = new System.Drawing.Size(527, 333);
+            this.treeView.Size = new System.Drawing.Size(799, 324);
             this.treeView.TabIndex = 6;
             // 
             // butCancel
@@ -115,7 +121,7 @@
             this.butCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.butCancel.Enabled = false;
             this.butCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.butCancel.Location = new System.Drawing.Point(600, 418);
+            this.butCancel.Location = new System.Drawing.Point(731, 516);
             this.butCancel.Name = "butCancel";
             this.butCancel.Size = new System.Drawing.Size(80, 23);
             this.butCancel.TabIndex = 7;
@@ -123,37 +129,102 @@
             this.butCancel.UseVisualStyleBackColor = true;
             this.butCancel.Click += new System.EventHandler(this.butCancel_Click);
             // 
-            // pictureBox1
-            // 
-            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
-            this.pictureBox1.Location = new System.Drawing.Point(12, 12);
-            this.pictureBox1.Name = "pictureBox1";
-            this.pictureBox1.Size = new System.Drawing.Size(132, 302);
-            this.pictureBox1.TabIndex = 8;
-            this.pictureBox1.TabStop = false;
+            // pictureBox2
+            // 
+            this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
+            this.pictureBox2.Location = new System.Drawing.Point(511, 12);
+            this.pictureBox2.Name = "pictureBox2";
+            this.pictureBox2.Size = new System.Drawing.Size(300, 130);
+            this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
+            this.pictureBox2.TabIndex = 9;
+            this.pictureBox2.TabStop = false;
+            // 
+            // chkManifest
+            // 
+            this.chkManifest.AutoSize = true;
+            this.chkManifest.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.chkManifest.Location = new System.Drawing.Point(18, 102);
+            this.chkManifest.Name = "chkManifest";
+            this.chkManifest.Size = new System.Drawing.Size(112, 17);
+            this.chkManifest.TabIndex = 2;
+            this.chkManifest.Text = "Generate .manifest";
+            this.chkManifest.ThreeState = true;
+            this.chkManifest.UseVisualStyleBackColor = true;
+            // 
+            // chkQuaternions
+            // 
+            this.chkQuaternions.AutoSize = true;
+            this.chkQuaternions.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.chkQuaternions.Location = new System.Drawing.Point(18, 79);
+            this.chkQuaternions.Name = "chkQuaternions";
+            this.chkQuaternions.Size = new System.Drawing.Size(221, 17);
+            this.chkQuaternions.TabIndex = 1;
+            this.chkQuaternions.Text = "Export quaternions instead of Euler angles";
+            this.chkQuaternions.ThreeState = true;
+            this.chkQuaternions.UseVisualStyleBackColor = true;
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(6, 60);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(46, 13);
+            this.label2.TabIndex = 11;
+            this.label2.Text = "Options:";
+            // 
+            // chkCopyTextures
+            // 
+            this.chkCopyTextures.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.chkCopyTextures.AutoSize = true;
+            this.chkCopyTextures.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.chkCopyTextures.Location = new System.Drawing.Point(338, 79);
+            this.chkCopyTextures.Name = "chkCopyTextures";
+            this.chkCopyTextures.Size = new System.Drawing.Size(132, 17);
+            this.chkCopyTextures.TabIndex = 12;
+            this.chkCopyTextures.Text = "Copy textures to output";
+            this.chkCopyTextures.ThreeState = true;
+            this.chkCopyTextures.UseVisualStyleBackColor = true;
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.groupBox1.Controls.Add(this.label1);
+            this.groupBox1.Controls.Add(this.chkCopyTextures);
+            this.groupBox1.Controls.Add(this.txtFilename);
+            this.groupBox1.Controls.Add(this.chkManifest);
+            this.groupBox1.Controls.Add(this.butBrowse);
+            this.groupBox1.Controls.Add(this.label2);
+            this.groupBox1.Controls.Add(this.chkQuaternions);
+            this.groupBox1.Location = new System.Drawing.Point(12, 6);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Size = new System.Drawing.Size(493, 136);
+            this.groupBox1.TabIndex = 13;
+            this.groupBox1.TabStop = false;
             // 
             // ExporterForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(692, 457);
-            this.Controls.Add(this.pictureBox1);
+            this.ClientSize = new System.Drawing.Size(823, 551);
+            this.Controls.Add(this.groupBox1);
+            this.Controls.Add(this.pictureBox2);
             this.Controls.Add(this.butCancel);
             this.Controls.Add(this.treeView);
             this.Controls.Add(this.progressBar);
             this.Controls.Add(this.butExport);
-            this.Controls.Add(this.butBrowse);
-            this.Controls.Add(this.txtFilename);
-            this.Controls.Add(this.label1);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
-            this.MinimumSize = new System.Drawing.Size(500, 400);
+            this.MinimumSize = new System.Drawing.Size(750, 400);
             this.Name = "ExporterForm";
             this.ShowInTaskbar = true;
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
             this.Text = "Babylon.js - Export scene to .babylon file";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ExporterForm_FormClosed);
             this.Load += new System.EventHandler(this.ExporterForm_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
+            this.groupBox1.ResumeLayout(false);
+            this.groupBox1.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -169,6 +240,11 @@
         private System.Windows.Forms.ProgressBar progressBar;
         private System.Windows.Forms.TreeView treeView;
         private System.Windows.Forms.Button butCancel;
-        private System.Windows.Forms.PictureBox pictureBox1;
+        private System.Windows.Forms.PictureBox pictureBox2;
+        private System.Windows.Forms.CheckBox chkQuaternions;
+        private System.Windows.Forms.CheckBox chkManifest;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.CheckBox chkCopyTextures;
+        private System.Windows.Forms.GroupBox groupBox1;
     }
 }

+ 10 - 3
Exporters/3ds Max/Max2Babylon/Forms/ExporterForm.cs

@@ -11,8 +11,8 @@ namespace Max2Babylon
         private readonly BabylonExportActionItem babylonExportAction;
         private BabylonExporter exporter;
 
-        TreeNode currentNode = null;
-        int currentRank = 0;
+        TreeNode currentNode;
+        int currentRank;
 
         public ExporterForm(BabylonExportActionItem babylonExportAction)
         {
@@ -24,6 +24,9 @@ namespace Max2Babylon
         private void ExporterForm_Load(object sender, EventArgs e)
         {
             txtFilename.Text = Kernel.Scene.RootNode.GetLocalData();
+            Tools.PrepareCheckBox(chkQuaternions, Kernel.Scene.RootNode._Node, "babylonjs_exportquaternions");
+            Tools.PrepareCheckBox(chkManifest, Kernel.Scene.RootNode._Node, "babylonjs_generatemanifest");
+            Tools.PrepareCheckBox(chkCopyTextures, Kernel.Scene.RootNode._Node, "babylonjs_copytextures", 1);
         }
 
         private void butBrowse_Click(object sender, EventArgs e)
@@ -36,6 +39,9 @@ namespace Max2Babylon
 
         private void butExport_Click(object sender, EventArgs e)
         {
+            Tools.UpdateCheckBox(chkQuaternions, Kernel.Scene.RootNode._Node, "babylonjs_exportquaternions");
+            Tools.UpdateCheckBox(chkManifest, Kernel.Scene.RootNode._Node, "babylonjs_generatemanifest");
+            Tools.UpdateCheckBox(chkCopyTextures, Kernel.Scene.RootNode._Node, "babylonjs_copytextures");
             Kernel.Scene.RootNode.SetLocalData(txtFilename.Text);
 
             exporter = new BabylonExporter();
@@ -96,7 +102,8 @@ namespace Max2Babylon
 
             try
             {
-                exporter.Export(txtFilename.Text);
+                exporter.CopyTexturesToOutput = chkCopyTextures.Checked;
+                exporter.Export(txtFilename.Text, chkManifest.Checked, this);
             }
             catch (OperationCanceledException)
             {

+ 296 - 270
Exporters/3ds Max/Max2Babylon/Forms/ExporterForm.resx

@@ -121,14 +121,14 @@
     <value>17, 17</value>
   </metadata>
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         /9j/4AAQSkZJRgABAQEAAAAAAAD/7gAOQWRvYmUAZAAAAAAB/+EAnkV4aWYAAE1NACoAAAAIAAMBMQAC
         AAAAHgAAADIBMgACAAAAGgAAAFCHaQAEAAAAAQAAAGoAAAAAQWRvYmUgUGhvdG9zaG9wIENTNiAoV2lu
-        ZG93cykAMjAxNC0wNi0xOVQwOTowNTo1MyswMjowMAAAA5AAAAcAAAAEMDIyMKACAAQAAAABAAAAgqAD
-        AAQAAAABAAABLAAAAAAAAP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
+        ZG93cykAMjAxNC0wNi0xOVQwOTowNzoyOCswMjowMAAAA5AAAAcAAAAEMDIyMKACAAQAAAABAAABLKAD
+        AAQAAAABAAAAggAAAAAAAP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
         AQEBAQICAgICAgICAgICAwMDAwMDAwMDA//bAEMBAQEBAQEBAgEBAgICAQICAwMDAwMDAwMDAwMDAwMD
-        AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIASwAggMBEQACEQEDEQH/xAAfAAAA
+        AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIAIIBLAMBEQACEQEDEQH/xAAfAAAA
         BgIDAQAAAAAAAAAAAAAHCAYFBAkDCgIBAAv/xAC1EAACAQMEAQMDAgMDAwIGCXUBAgMEEQUSBiEHEyIA
         CDEUQTIjFQlRQhZhJDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKiRFRzRUY3R2MoVVZXGrLC0uLy
         ZIN0k4Rlo7PD0+MpOGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJipSVlpeYmZqkpaanqKmqtLW2t7i5
@@ -136,272 +136,298 @@
         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
-        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
-        OT/jfP8Avvz791759TY5P9tx7917qYknH/FP+J9+691LST/H/kQ9++XXq9SUl/1vfuvdZ1l/1v8Aff8A
-        G/fuvdZll/x/px/vPv2fPr1fLrKJf999f+Ne/de678v+P/Ef4+/de49e8v8Aja/+I+nv3XuuJl/x9+PX
-        usTS/wCP++/4j37r3WJpfyD/AL37917jx695f9f9P++HvX59er0Cqyetr/6pv97/ANh73177Opscn+P+
-        3/3j37/B14dTY5Pz/S3+Hv1OvdTY5P8AfD/e/r78evdTUl+nP+w/31x79Tr3UtJPpz/vvp/r+/de6lLL
-        wP8Aff776e/de6kpL/j/AL7/AHn37r3WdZf8eP8AH/X9+611mEv+9/19+631zE30P++/43795dePp59d
-        +X8397699nXfl/x/339PeuvdcTN/jf8AP+2/oPfuvfZx6xmX/ej/ALH/AI37917rC0v/ABP+9/6/4974
-        9e695f8AH+x/vvx71U+nXugaD+pv8WP9eeT/ALz79Xr3UuOT/ef99/xPvx691Pjk/wCI/wB9+bDn37rw
-        6lxy/wC++vv3W+piSf77/e+OPr791rqWkv0/3j6f8U9+/wAHXupKy/77/kVvfvt691IWW39P9f8A5H79
-        1v8Aw9ZxL791rrKst/z/ALG//E+/dbx1kE3+N/8AY+/eXWuu/N/j+f8AYf73/X34de695v8AEfgf8i/w
-        9+p175dcTL/xr37r3WMzfn8n/ePfj/Lr3WJpv8f99/xT37r2fy678p/6x/4fX/inv3+r/V/n63/n6B4S
-        ep+R+pv+hvfutD06lxyfj36vn17qZHIP9f8Ax/43z7917qYkv+v+P99+fz7917qWkv0/41/xT37/AA9b
-        4/b1KSX37/B1rqSstrcj8fn37r3UhZf+Nf7A+/de8uswl/xv/vHv3XuPWQS/7H/ff8U9+69X9nWQTf4/
-        77/jfv3WuuQm/wAf+I/3v37rfXXm/wB9/r/7x9PfuvdcTN79Tr3XAzf4/wC+/wBh/re/dep1iMv+Nv8A
-        kV7e/de6yeX/AFv8x/T8/wBP+Ne9V63ToHxJ6m/xYn/ef9h731r7OpSSf4/0/wBj7916nU1JP99/vv6e
-        /de6lJLx/wAV9+8+vdS0l/33/G/fuvdSVl/3319+z17qSsvv3Xuswl/xt79Tr3WYS/Tn/ff63+Hv3Xus
-        gl/x/wB79+691zEv+P8Ar/X/AFv979+4fZ1rrvy/1Nv98Pfut9d+X/X9+691xMv+P5/3359+z17rgZv+
-        R/15/wBf8+9nr3WIy/42/wBj7116vXPy/wCJ/wCA/vfW+gl12dx/Rm/3v/be9da6kpL9Bf6f7H6+/de+
-        3qYkn+9/Xn37r32dSkl/xPv3XupSS2/33+2Pv3Xs9SFl/wB9/wAi+vv3Xvt6kLL/AI/77/be/f4OvdZ1
-        l/F+Ofp7917rKsv+P/Ff979+691kE3++/wBf/effuvdc/L/Qj/ff7b37r3Xfl/x/1v8Ae/fuvU9eu/N/
-        iebc/wC++vv3Xq+R64Gb3vr3XEzf77/ifevs69TrGZfx/vvp/vH196691k8p/wDVe30H0/p73j59e6Ck
-        yfuP/wAHb6/S9z79Xr3HqQkn+P8Avv8AkQ9+698+pSS/4/8AIrf63v3XupSSf77/AI37917qQkn+P+2/
-        4nn37r3y6krL/wAU4Pv3WvLrOs3+w/3se/db6zLLyObf7z791rrKJf8AEf77/e/fut9ZBL/U/wDGz/yL
-        37r3XLzf4/77+n9Pfs9e65eX/H37r1eujN/j/T37r3XRm/x/5F/r+/Yr17rgZv8AH/W/3s+/de6xtL/i
-        f99/xr37PXus3lP/AKrW+vv1R16v+HoLDJ+5JyP1t/0Mffvt69/h6zpJ/jz/AMT7917qUkn+3Hv3XupK
-        yf4/719fr/re/de6kpL/AI/77+n+8e/de6zLL/j+f6/74+9+XXupCy/Tn/eveuvdZRL/AL7+lvfv8PXu
-        swl/4j/iOPfvmevdcxN/j/xr/jXv3XqdcvN/jz/vX/G/fuvdcvL/AK/+w/w9+69115f+Nf1/2w9+698h
-        10Zvrz/vubf7b37r3XAzf4/8V/1/fuvdcDN/X/e/fuvY8usvk/x/3R/h/wAU96qPn17PQYtJ+4//AAdv
-        8fyePe+vdZlk/wBf/iffscOvdSVk/wAf9hx/xX+nv3XupKyfTn/fC/v3XiepCy/76/8AxT/X9+691nWU
-        8WP/ABP+++nv3Xv8HWZZfp/xX/effvs691mEv+J96z17rIJf8f8Aeve+vYHXITf4/wC+/p7317/B1zEt
-        /wA/4/7371w69135f8f99/vXv3Xuveb/AB9+6910ZR/X/ff7Dj37r3XHy/7x/vj/ALH375de6xmX/H/f
-        fX37r3WbzD/D/Mf7z/X36nXqH59Bq0n7j/8AB3/H19R/4p79177esySf4j/fD37y691IWT6f77/ffT37
-        r3UhZfp/sP8AiP8Ab+/de6kLLz9f98f6e/eXXuswl/x9++fl17rKsv0H/E+/de6yiW9j9P8AfW9++Xl1
-        7z6yiX/ff7H349e65iX83/pb/iPfs8OvefXfl/4r/wAj/px791r5dd+b/H+tv9v/ALx791vr3l/qf6f8
-        Rc/7f37/AA9e66Mp/r/vF/8AeffuvD09euPl+vPH++/p7917rgZf96P+w/3n37r3UjX/AO4ur8fT/inv
-        3W89Bu0n7j/8Hb/oY+/da6zLJ/rfX/in+Hv3Xus6yf7697f4cX/HvfXus6yf8R7117rOsn+J/wB8Pe+v
-        dZhL/j7117rKJP8AYf763+8+/de6yiX/AHv/AH3+39+/wder69ZBL/j/AMb+v09+691yEv8Asf8AeT79
-        16vXIS/71/xQ8+/U8+vcOu/L/vv8OPfq9e695f8Aefp7117y668v+J/P++/2HvfXuuPm/wBf/ff8j9+6
-        91wMv9f99/xXn37/AA9b6leRv6/8on+8/wBffsdeqOg7Zz5Ht/q2/wChvfsda49ZFkt+f6e/efXvl1nW
-        Tj8+/dexx6zLJ/X/AH3IP+Fre/deI6zLJ/vh7917rMJP97/3v/iOffuvdZRL/vv9v7914fz6yCX/AB/B
-        /wAD/wAU/Pv3XuuYlP8Avv8AH/ivv3Xj1z8v+PH9b/1H/Ee/Y6912JffuvddmX/H/if9h7917HXhJ/j7
-        8evddGX/AG3+39+691xMn9SP9jyP9f8A23v3l17HXEzf4/7z7917qT5v9q/5Q/6f77n37r3SBd7SP/wd
-        v9vqPv3Xhjrmr/7z/wAV/wBj+ffuvefWZZB7917rMJP8f9b+vv2OvY6yiQ/7b/inv3Xusyyf4/8AEe/d
-        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
+        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
+        sX/V/wAV9762MdZFq/8AH/ifejjrXWT7u35/3m3vw9evV65iqtbn/Yf8jv79nr329c/u/wDarf7H37y6
+        9ny6yfd/48f7E+/fbx69jy65ir/x/wB9/sTf36vXuuQrP8QD+bX97/n17rmKv83H+3v/ALwePevPr3XM
+        Vg+l/wDff7zf37z68OuYrP8Aav8Aebf8U966959d/efm/wDh9f8Ajfvfy6959chWD63/AOJ/3s+/dbz5
+        9chV2/P+P++N/futfb13959eRf8A339fr79X9nW6+nXf3v8Ajb/Y8f7373jrQx1yFZ/j/sSf+N+/cOvc
+        evfef4/7yTf/AFvfuvdchWD/AFVj+fz/AL39PeuPXuvfefnUP9f377evdd/ef7UD/tj/AMT79/h69119
+        6f8AVAf05t7917h1773n6i/v3+Dr3XvvP8Rf37/B14Dr33v+I/x/3w9+HWj8+PXX3n+1D/b+/dbpTPXR
+        rP8AH/ef+N+/fLr3Hj1197/Q/wCwBP8AxPv3XuujWf4j/b/8V9+oB14fLriav/Ef7Ye/ceHXs9cfvP8A
+        H37/AAdeBp1k+8/a/wAPJ9f+Qf6e9U/Z16nn0Er1P7j8/wBt/wDoY/63u3Xvn14VB/23++/rb3rr3WQV
+        P+J/2wt79Tr3WQVN/wA/7c/8R79w69/g65CqH9f+J59+49ez59cxU/T1f77/AHj37HXvL5dcxU/1PP8A
+        r/76/v1f2de+zrmKo/kkf778D377OHW/Lrn91x9f8Ofr731rrmKr6/X/AB5Fv8Pev8HXv8PXMVR/qR/v
+        v9697x1rz65ir/x/4j/eTe/vXW+uQq/8bf7H/in19+8vl148OuQqzf6n/b+/fPr3XP7v/H/ff429+FOv
+        dcvu7fk+/V6959dir/x/2PHHvR6959c/u/xex/1/e89aHQUb++QPTvV2UosFv/sjau2M7kKCTLUuCr8l
+        E2cfDwNOk+ckw9KKjJU+CgemkV62SJKRGRlMgII9ppry1t2CTOquRWhOaetONPnw6PNt5c37eIGutstJ
+        5rZXCF1U6NZpRNRopc1BCA6jXh0vttby25vPA4rdW0c/h90bZztHFkcJuHb+Ro8vhctQzi8NZjsnQTVF
+        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
+        oisbuSbsBCqHjiiWNVzpSNIVVMk0oDwqRrNR/iQP9h7Vj+fQe4DrN9yft/1H/Pf4f6j/AF7e/UHW6HpL
+        S/52X/lo/wD0MffutdY/fuvdd3P9T7917r1z/X37r3XtR/r7917rvUf98f8AfH37r3Xes/4e/de678h/
+        3x9+69/g695D/T/effuvddiU3v8A8T7917rvzH/H/ePfuvddiY8/77/iPfuvfZ135f8AH/ff7H37/B17
+        y6783+P+8H37PXuveYf7D+nvw69TrsTf7f8A17e/HjXr3Xfn/wAf95P/ABv37r1Ou/N/j/tm9+698+u/
+        P/iR79/h68OPXvPf+n145H+9+/dez1357fU8/wCPNv8Aifeznr2evCb/AB/33+x5HvXnjr3HrsTm/wDr
+        +/fbx6317z/1IHv3WscB17z/AJ4/4j/e/fuHXqV68Kj/AB/33+w9+69w695/6nn+n++t78TXh1vr3n5+
+        v+9e/de8q9die4+v/E/8a9+619nXvOP+N/Qf7179nrWTw66+4vbm/wDsf+N+/U63jrwnPIuf9geffuvc
+        OPXXm5+v+3/4p79g8Ovf4eu/N9bfn/Wt/sPfuvfb1157/n/Dg/7x7917j115jz/sPz/viPfuvE9dGY/1
+        Hvwx17B49SPKftr3/wB32+o/453+vv3n8+vefXj+t/8Ai2/Vv1fT6+/de69/56/fuvde/wDPX7917r3/
+        AJ6/fuvde/8APX7917r3/nr9+6917/z1+/de69/56/fuvde/89fv3Xuvf+ev37r3Xv8Az1+/de69/wCe
+        v37r3Xv/AD1+/de69/56/fuvde/89fv3Xuvf+ev37r3Xv/PX7917r3/nr9+6917/AM9fv3Xuvf8Anr9+
+        6917/wA9fv3Xuvf+ev37z695de/89fvx49e8uuQ+v/Lt+n4+v/Ivfj1vrj/56/e/Pz6112Pof+LZ/sPp
+        /sfdTx68OPXL8t/xbPofr9fofexw635dcR/5DP8AYe/HrXl1yX6N/wAWz6fj/Y+/enHrXn1xP/kM/wBj
+        72Ot9e/A/wCLZ9f9h/sP8ffj1ocevf1/4tn++/r7r1vz66/89fu3Xuvf+ev34de67/8APZ9f99/sfevP
+        rXXj9f8Al2f7H6+/deHXR+h/4tf+w+v+w9+6317/AHV/y7/85/0T7917r//Z
 </value>
   </data>
 </root>

+ 1 - 32
Exporters/3ds Max/Max2Babylon/Forms/ScenePropertiesForm.Designer.cs

@@ -33,10 +33,7 @@
             this.label3 = new System.Windows.Forms.Label();
             this.butCancel = new System.Windows.Forms.Button();
             this.butOK = new System.Windows.Forms.Button();
-            this.groupBox2 = new System.Windows.Forms.GroupBox();
-            this.chkQuaternions = new System.Windows.Forms.CheckBox();
             this.groupBox1.SuspendLayout();
-            this.groupBox2.SuspendLayout();
             this.SuspendLayout();
             // 
             // groupBox1
@@ -44,7 +41,7 @@
             this.groupBox1.Controls.Add(this.gravityControl);
             this.groupBox1.Controls.Add(this.label3);
             this.groupBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.groupBox1.Location = new System.Drawing.Point(12, 105);
+            this.groupBox1.Location = new System.Drawing.Point(12, 12);
             this.groupBox1.Name = "groupBox1";
             this.groupBox1.Size = new System.Drawing.Size(319, 87);
             this.groupBox1.TabIndex = 0;
@@ -95,29 +92,6 @@
             this.butOK.UseVisualStyleBackColor = true;
             this.butOK.Click += new System.EventHandler(this.butOK_Click);
             // 
-            // groupBox2
-            // 
-            this.groupBox2.Controls.Add(this.chkQuaternions);
-            this.groupBox2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.groupBox2.Location = new System.Drawing.Point(12, 12);
-            this.groupBox2.Name = "groupBox2";
-            this.groupBox2.Size = new System.Drawing.Size(319, 87);
-            this.groupBox2.TabIndex = 5;
-            this.groupBox2.TabStop = false;
-            this.groupBox2.Text = "Exportation";
-            // 
-            // chkQuaternions
-            // 
-            this.chkQuaternions.AutoSize = true;
-            this.chkQuaternions.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.chkQuaternions.Location = new System.Drawing.Point(21, 27);
-            this.chkQuaternions.Name = "chkQuaternions";
-            this.chkQuaternions.Size = new System.Drawing.Size(221, 17);
-            this.chkQuaternions.TabIndex = 1;
-            this.chkQuaternions.Text = "Export quaternions instead of Euler angles";
-            this.chkQuaternions.ThreeState = true;
-            this.chkQuaternions.UseVisualStyleBackColor = true;
-            // 
             // ScenePropertiesForm
             // 
             this.AcceptButton = this.butOK;
@@ -125,7 +99,6 @@
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.CancelButton = this.butCancel;
             this.ClientSize = new System.Drawing.Size(343, 390);
-            this.Controls.Add(this.groupBox2);
             this.Controls.Add(this.butCancel);
             this.Controls.Add(this.butOK);
             this.Controls.Add(this.groupBox1);
@@ -136,8 +109,6 @@
             this.Load += new System.EventHandler(this.ScenePropertiesForm_Load);
             this.groupBox1.ResumeLayout(false);
             this.groupBox1.PerformLayout();
-            this.groupBox2.ResumeLayout(false);
-            this.groupBox2.PerformLayout();
             this.ResumeLayout(false);
 
         }
@@ -149,7 +120,5 @@
         private System.Windows.Forms.Label label3;
         private System.Windows.Forms.Button butCancel;
         private System.Windows.Forms.Button butOK;
-        private System.Windows.Forms.GroupBox groupBox2;
-        private System.Windows.Forms.CheckBox chkQuaternions;
     }
 }

+ 0 - 2
Exporters/3ds Max/Max2Babylon/Forms/ScenePropertiesForm.cs

@@ -14,13 +14,11 @@ namespace Max2Babylon
         private void butOK_Click(object sender, EventArgs e)
         {
             Tools.UpdateVector3Control(gravityControl, Kernel.Scene.RootNode._Node, "babylonjs_gravity");
-            Tools.UpdateCheckBox(chkQuaternions, Kernel.Scene.RootNode._Node, "babylonjs_exportquaternions");
         }
 
         private void ScenePropertiesForm_Load(object sender, EventArgs e)
         {
             Tools.PrepareVector3Control(gravityControl, Kernel.Scene.RootNode._Node, "babylonjs_gravity", 0, -0.9f, 0);
-            Tools.PrepareCheckBox(chkQuaternions, Kernel.Scene.RootNode._Node, "babylonjs_exportquaternions");
         }
     }
 }

+ 5 - 0
Exporters/3ds Max/Max2Babylon/Tools/Tools.cs

@@ -18,6 +18,11 @@ namespace Max2Babylon
         {
             try
             {
+                if (Path.GetExtension(filepath).ToLower() != ".dds")
+                {
+                    return false;
+                }
+
                 var data = File.ReadAllBytes(filepath);
                 var intArray = new int[data.Length / 4];