private void SaveOptions() { Tools.UpdateCheckBox(chkManifest, Loader.Core.RootNode, "babylonjs_generatemanifest"); Tools.UpdateCheckBox(chkWriteTextures, Loader.Core.RootNode, "babylonjs_writetextures"); Tools.UpdateCheckBox(chkOverwriteTextures, Loader.Core.RootNode, "babylonjs_overwritetextures"); Tools.UpdateCheckBox(chkHidden, Loader.Core.RootNode, "babylonjs_exporthidden"); Tools.UpdateCheckBox(chkAutoSave, Loader.Core.RootNode, "babylonjs_autosave"); Tools.UpdateCheckBox(chkOnlySelected, Loader.Core.RootNode, "babylonjs_onlySelected"); Tools.UpdateCheckBox(chkExportTangents, Loader.Core.RootNode, "babylonjs_exporttangents"); Tools.UpdateComboBox(comboOutputFormat, Loader.Core.RootNode, "babylonjs_outputFormat"); Tools.UpdateTextBox(txtScaleFactor, Loader.Core.RootNode, "babylonjs_txtScaleFactor"); Tools.UpdateTextBox(txtQuality, Loader.Core.RootNode, "babylonjs_txtCompression"); Tools.UpdateCheckBox(chkMergeAOwithMR, Loader.Core.RootNode, "babylonjs_mergeAOwithMR"); Tools.UpdateCheckBox(chkDracoCompression, Loader.Core.RootNode, "babylonjs_dracoCompression"); Tools.UpdateCheckBox(chkKHRTextureTransform, Loader.Core.RootNode, "babylonjs_khrTextureTransform"); Tools.UpdateCheckBox(chkKHRLightsPunctual, Loader.Core.RootNode, "babylonjs_khrLightsPunctual"); Tools.UpdateCheckBox(chkKHRMaterialsUnlit, Loader.Core.RootNode, "babylonjs_khr_materials_unlit"); Tools.UpdateCheckBox(chkExportMaterials, Loader.Core.RootNode, "babylonjs_export_materials"); Tools.UpdateCheckBox(chkExportAnimations, Loader.Core.RootNode, "babylonjs_export_animations"); Tools.UpdateCheckBox(chkExportAnimationsOnly, Loader.Core.RootNode, "babylonjs_export_animations_only"); Tools.UpdateCheckBox(chkAnimgroupExportNonAnimated, Loader.Core.RootNode, "babylonjs_animgroupexportnonanimated"); Tools.UpdateCheckBox(chkDoNotOptimizeAnimations, Loader.Core.RootNode, "babylonjs_donotoptimizeanimations"); Tools.UpdateCheckBox(chkExportMorphTangents, Loader.Core.RootNode, "babylonjs_export_Morph_Tangents"); Tools.UpdateCheckBox(chkExportMorphNormals, Loader.Core.RootNode, "babylonjs_export_Morph_Normals"); Tools.UpdateComboBoxByIndex(cmbBakeAnimationOptions, Loader.Core.RootNode, "babylonjs_bakeAnimationsType"); Tools.UpdateCheckBox(chkApplyPreprocessToScene, Loader.Core.RootNode, "babylonjs_applyPreprocess"); Loader.Core.RootNode.SetStringProperty(ExportParameters.ModelFilePathProperty, Tools.RelativePathStore(txtModelPath.Text)); Loader.Core.RootNode.SetStringProperty(ExportParameters.TextureFolderPathProperty, Tools.RelativePathStore(txtTexturesPath.Text)); Tools.UpdateCheckBox(chkFullPBR, Loader.Core.RootNode, ExportParameters.PBRFullPropertyName); Tools.UpdateCheckBox(chkNoAutoLight, Loader.Core.RootNode, ExportParameters.PBRNoLightPropertyName); Loader.Core.RootNode.SetStringProperty(ExportParameters.PBREnvironmentPathPropertyName, Tools.RelativePathStore(txtEnvironmentName.Text)); Tools.UpdateCheckBox(chkUsePreExportProces, Loader.Core.RootNode, "babylonjs_preproces"); Tools.UpdateCheckBox(chkFlatten, Loader.Core.RootNode, "babylonjs_flattenScene"); Tools.UpdateCheckBox(chkMrgContainersAndXref, Loader.Core.RootNode, "babylonjs_mergecontainersandxref"); }
private void txtTexturesPath_TextChanged(object sender, EventArgs e) { Loader.Core.RootNode.SetStringProperty(ExportParameters.TextureFolderPathProperty, Tools.RelativePathStore(txtTexturesPath.Text)); }
private void txtFilename_TextChanged(object sender, EventArgs e) { butExport.Enabled = !string.IsNullOrEmpty(txtModelPath.Text.Trim()); Loader.Core.RootNode.SetStringProperty(ExportParameters.ModelFilePathProperty, Tools.RelativePathStore(txtModelPath.Text)); }
private void txtEnvironmentName_TextChanged(object sender, EventArgs e) { Loader.Core.RootNode.SetStringProperty(ExportParameters.PBREnvironmentPathPropertyName, Tools.RelativePathStore(txtEnvironmentName.Text)); }
private void SaveOptions() { Tools.UpdateCheckBox(chkManifest, Loader.Core.RootNode, "babylonjs_generatemanifest"); Tools.UpdateCheckBox(chkWriteTextures, Loader.Core.RootNode, "babylonjs_writetextures"); Tools.UpdateCheckBox(chkOverwriteTextures, Loader.Core.RootNode, "babylonjs_overwritetextures"); Tools.UpdateCheckBox(chkHidden, Loader.Core.RootNode, "babylonjs_exporthidden"); Tools.UpdateCheckBox(chkAutoSave, Loader.Core.RootNode, "babylonjs_autosave"); Tools.UpdateCheckBox(chkOnlySelected, Loader.Core.RootNode, "babylonjs_onlySelected"); Tools.UpdateCheckBox(chkExportTangents, Loader.Core.RootNode, "babylonjs_exporttangents"); Tools.UpdateComboBox(comboOutputFormat, Loader.Core.RootNode, "babylonjs_outputFormat"); Tools.UpdateTextBox(txtScaleFactor, Loader.Core.RootNode, "babylonjs_txtScaleFactor"); Tools.UpdateTextBox(txtQuality, Loader.Core.RootNode, "babylonjs_txtCompression"); Tools.UpdateCheckBox(chkMergeAOwithMR, Loader.Core.RootNode, "babylonjs_mergeAOwithMR"); Tools.UpdateCheckBox(chkDracoCompression, Loader.Core.RootNode, "babylonjs_dracoCompression"); Tools.UpdateCheckBox(chkKHRTextureTransform, Loader.Core.RootNode, "babylonjs_khrTextureTransform"); Tools.UpdateCheckBox(chkKHRLightsPunctual, Loader.Core.RootNode, "babylonjs_khrLightsPunctual"); Tools.UpdateCheckBox(chkKHRMaterialsUnlit, Loader.Core.RootNode, "babylonjs_khr_materials_unlit"); Tools.UpdateCheckBox(chkExportMaterials, Loader.Core.RootNode, "babylonjs_export_materials"); string unformattedPath = Tools.UnformatPath(txtModelName.Text); Loader.Core.RootNode.SetStringProperty(ExportParameters.ModelFilePathProperty, Tools.RelativePathStore(unformattedPath)); string unformattedTextureFolderPath = Tools.UnformatPath(txtTextureName.Text); Loader.Core.RootNode.SetStringProperty(ExportParameters.TextureFolderPathProperty, Tools.RelativePathStore(unformattedTextureFolderPath)); Tools.UpdateCheckBox(chkFullPBR, Loader.Core.RootNode, ExportParameters.PBRFullPropertyName); Tools.UpdateCheckBox(chkNoAutoLight, Loader.Core.RootNode, ExportParameters.PBRNoLightPropertyName); string unformattedEnvironmentPath = Tools.UnformatPath(txtEnvironmentName.Text); Loader.Core.RootNode.SetStringProperty(ExportParameters.PBREnvironmentPathPropertyName, Tools.RelativePathStore(unformattedEnvironmentPath)); }
private async Task <bool> DoExport(ExportItem exportItem, bool clearLogs = true) { Tools.UpdateCheckBox(chkManifest, Loader.Core.RootNode, "babylonjs_generatemanifest"); Tools.UpdateCheckBox(chkWriteTextures, Loader.Core.RootNode, "babylonjs_writetextures"); Tools.UpdateCheckBox(chkOverwriteTextures, Loader.Core.RootNode, "babylonjs_overwritetextures"); Tools.UpdateCheckBox(chkHidden, Loader.Core.RootNode, "babylonjs_exporthidden"); Tools.UpdateCheckBox(chkAutoSave, Loader.Core.RootNode, "babylonjs_autosave"); Tools.UpdateCheckBox(chkOnlySelected, Loader.Core.RootNode, "babylonjs_onlySelected"); Tools.UpdateCheckBox(chkExportTangents, Loader.Core.RootNode, "babylonjs_exporttangents"); Tools.UpdateComboBox(comboOutputFormat, Loader.Core.RootNode, "babylonjs_outputFormat"); Tools.UpdateTextBox(txtScaleFactor, Loader.Core.RootNode, "babylonjs_txtScaleFactor"); Tools.UpdateTextBox(txtQuality, Loader.Core.RootNode, "babylonjs_txtCompression"); Tools.UpdateCheckBox(chkMergeAOwithMR, Loader.Core.RootNode, "babylonjs_mergeAOwithMR"); Tools.UpdateCheckBox(chkDracoCompression, Loader.Core.RootNode, "babylonjs_dracoCompression"); Tools.UpdateCheckBox(chkKHRTextureTransform, Loader.Core.RootNode, "babylonjs_khrTextureTransform"); Tools.UpdateCheckBox(chkKHRLightsPunctual, Loader.Core.RootNode, "babylonjs_khrLightsPunctual"); Tools.UpdateCheckBox(chkKHRMaterialsUnlit, Loader.Core.RootNode, "babylonjs_khr_materials_unlit"); Tools.UpdateCheckBox(chkExportMaterials, Loader.Core.RootNode, "babylonjs_export_materials"); string unformattedPath = Tools.UnformatPath(txtFilename.Text); Loader.Core.RootNode.SetLocalData(Tools.RelativePathStore(unformattedPath)); exporter = new BabylonExporter(); if (clearLogs) { treeView.Nodes.Clear(); } exporter.OnImportProgressChanged += progress => { progressBar.Value = progress; Application.DoEvents(); }; exporter.OnWarning += (warning, rank) => { try { currentNode = CreateTreeNode(rank, warning, Color.DarkOrange); currentNode.EnsureVisible(); } catch { } Application.DoEvents(); }; exporter.OnError += (error, rank) => { try { currentNode = CreateTreeNode(rank, error, Color.Red); currentNode.EnsureVisible(); } catch { } Application.DoEvents(); }; exporter.OnMessage += (message, color, rank, emphasis) => { try { currentNode = CreateTreeNode(rank, message, color); if (emphasis) { currentNode.EnsureVisible(); } } catch { } Application.DoEvents(); }; butExport.Enabled = false; butExportAndRun.Enabled = false; butMultiExport.Enabled = false; butCancel.Enabled = true; bool success = true; try { ExportParameters exportParameters = new ExportParameters { outputPath = Tools.UnformatPath(txtFilename.Text), outputFormat = comboOutputFormat.SelectedItem.ToString(), scaleFactor = txtScaleFactor.Text, writeTextures = chkWriteTextures.Checked, overwriteTextures = chkOverwriteTextures.Checked, exportHiddenObjects = chkHidden.Checked, exportOnlySelected = chkOnlySelected.Checked, generateManifest = chkManifest.Checked, autoSave3dsMaxFile = chkAutoSave.Checked, exportTangents = chkExportTangents.Checked, txtQuality = txtQuality.Text, mergeAOwithMR = chkMergeAOwithMR.Checked, dracoCompression = chkDracoCompression.Checked, enableKHRLightsPunctual = chkKHRLightsPunctual.Checked, enableKHRTextureTransform = chkKHRTextureTransform.Checked, enableKHRMaterialsUnlit = chkKHRMaterialsUnlit.Checked, exportMaterials = chkExportMaterials.Checked, exportNode = exportItem != null ? exportItem.Node : null }; exporter.callerForm = this; exporter.Export(exportParameters); } catch (OperationCanceledException) { progressBar.Value = 0; success = false; } catch (Exception ex) { IUTF8Str operationStatus = GlobalInterface.Instance.UTF8Str.Create("BabylonExportAborted"); Loader.Global.BroadcastNotification(SystemNotificationCode.PreExport, operationStatus); currentNode = CreateTreeNode(0, "Export cancelled: " + ex.Message, Color.Red); currentNode = CreateTreeNode(1, ex.ToString(), Color.Red); currentNode.EnsureVisible(); progressBar.Value = 0; success = false; } butCancel.Enabled = false; butExport.Enabled = true; butMultiExport.Enabled = true; butExportAndRun.Enabled = WebServer.IsSupported; BringToFront(); return(success); }