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(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"); Loader.Core.RootNode.SetStringProperty(ExportParameters.ModelFilePathProperty, Tools.RelativePathStore(txtModelName.Text)); Loader.Core.RootNode.SetStringProperty(ExportParameters.TextureFolderPathProperty, Tools.RelativePathStore(txtTextureName.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(chkMrgInheritedContainers, Loader.Core.RootNode, "babylonjs_mergeinheritedcontainers"); }
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 void butOK_Click(object sender, EventArgs e) { Tools.UpdateCheckBox(chkNoExport, lights, "babylonjs_noexport"); Tools.UpdateCheckBox(chkAutoAnimate, lights, "babylonjs_autoanimate"); Tools.UpdateCheckBox(chkLoop, lights, "babylonjs_autoanimateloop"); Tools.UpdateNumericUpDown(nupFrom, lights, "babylonjs_autoanimate_from"); Tools.UpdateNumericUpDown(nupTo, lights, "babylonjs_autoanimate_to"); Tools.UpdateNumericUpDown(nupBias, lights, "babylonjs_shadows_bias"); Tools.UpdateNumericUpDown(nupBlurScale, lights, "babylonjs_shadows_blurScale"); Tools.UpdateNumericUpDown(nupBlurBoxOffset, lights, "babylonjs_shadows_blurBoxOffset"); Tools.UpdateComboBox(cbCameraType, lights, "babylonjs_shadows_type"); }
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.UpdateComboBox(cmbExportAnimationType, Loader.Core.RootNode, "babylonjs_export_animations_type"); Tools.UpdateCheckBox(chkASBAnimationRetargeting, Loader.Core.RootNode, "babylonjs_asb_animation_retargeting"); 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"); Tools.UpdateComboBoxByIndex(logLevelcmb, Loader.Core.RootNode, "babylonjs_logLevel"); Tools.UpdateCheckBox(chk_RemoveLodPrefix, Loader.Core.RootNode, "flightsim_removelodprefix"); Tools.UpdateCheckBox(chkRemoveNamespace, Loader.Core.RootNode, "flightsim_removenamespaces"); Tools.UpdateTextBox(txtSrcTextureExt, Loader.Core.RootNode, "flightsim_texture_destination_extension"); Tools.UpdateTextBox(txtDstTextureExt, Loader.Core.RootNode, "flightsim_texture_destination_extension"); 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"); Tools.UpdateComboBoxByIndex(cmbNormalMapConvention, Loader.Core.RootNode, "flightsim_tangent_space_convention"); }
private void butOK_Click(object sender, EventArgs e) { Tools.UpdateCheckBox(chkNoExport, cameras, "babylonjs_noexport"); Tools.UpdateCheckBox(chkCollisions, cameras, "babylonjs_checkcollisions"); Tools.UpdateCheckBox(chkGravity, cameras, "babylonjs_applygravity"); Tools.UpdateNumericUpDown(nupSpeed, cameras, "babylonjs_speed"); Tools.UpdateNumericUpDown(nupInertia, cameras, "babylonjs_inertia"); Tools.UpdateVector3Control(ellipsoidControl, cameras, "babylonjs_ellipsoid"); Tools.UpdateComboBox(cbCameraType, cameras, "babylonjs_type"); Tools.UpdateCheckBox(chkAutoAnimate, cameras, "babylonjs_autoanimate"); Tools.UpdateCheckBox(chkLoop, cameras, "babylonjs_autoanimateloop"); Tools.UpdateNumericUpDown(nupFrom, cameras, "babylonjs_autoanimate_from"); Tools.UpdateNumericUpDown(nupTo, cameras, "babylonjs_autoanimate_to"); }
private void butOK_Click(object sender, EventArgs e) { Tools.UpdateCheckBox(chkNoExport, objects, "babylonjs_noexport"); Tools.UpdateCheckBox(chkCollisions, objects, "babylonjs_checkcollisions"); Tools.UpdateCheckBox(chkPickable, objects, "babylonjs_checkpickable"); Tools.UpdateCheckBox(chkOptimize, objects, "babylonjs_optimizevertices"); Tools.UpdateCheckBox(chkShowBoundingBox, objects, "babylonjs_showboundingbox"); Tools.UpdateCheckBox(chkShowSubMeshesBoundingBox, objects, "babylonjs_showsubmeshesboundingbox"); Tools.UpdateCheckBox(chkAutoAnimate, objects, "babylonjs_autoanimate"); Tools.UpdateCheckBox(chkBakeAnimationNode, objects, "babylonjs_BakeAnimation"); Tools.UpdateCheckBox(chkLoop, objects, "babylonjs_autoanimateloop"); Tools.UpdateNumericUpDown(nupFrom, objects, "babylonjs_autoanimate_from"); Tools.UpdateNumericUpDown(nupTo, objects, "babylonjs_autoanimate_to"); Tools.UpdateNumericUpDown(nupAlphaIndex, objects, "babylonjs_alphaindex"); Tools.UpdateNumericUpDown(nupMass, objects, "babylonjs_mass"); Tools.UpdateNumericUpDown(nupFriction, objects, "babylonjs_friction"); Tools.UpdateNumericUpDown(nupRestitution, objects, "babylonjs_restitution"); Tools.UpdateComboBox(cbImpostor, objects, "babylonjs_impostor"); Tools.UpdateCheckBox(chkAutoPlay, objects, "babylonjs_sound_autoplay"); Tools.UpdateCheckBox(chkLoop, objects, "babylonjs_sound_loop"); Tools.UpdateNumericUpDown(nupVolume, objects, "babylonjs_sound_volume"); Tools.UpdateNumericUpDown(nupPlaybackRate, objects, "babylonjs_sound_playbackrate"); Tools.UpdateComboBox(cbDistanceModel, objects, "babylonjs_sound_distancemodel"); Tools.UpdateNumericUpDown(nupMaxDistance, objects, "babylonjs_sound_maxdistance"); Tools.UpdateNumericUpDown(nupRolloff, objects, "babylonjs_sound_rolloff"); Tools.UpdateNumericUpDown(nupRefDistance, objects, "babylonjs_sound_refdistance"); Tools.UpdateCheckBox(chkDirectional, objects, "babylonjs_sound_directional"); Tools.UpdateNumericUpDown(nupConeInnerAngle, objects, "babylonjs_sound_coneinnerangle"); Tools.UpdateNumericUpDown(nupConeOuterAngle, objects, "babylonjs_sound_coneouterangle"); Tools.UpdateNumericUpDown(nupConeOuterGain, objects, "babylonjs_sound_coneoutergain"); Tools.UpdateTextBox(txtSound, objects, "babylonjs_sound_filename"); Tools.UpdateTextBox(tagInput, objects, "babylonjs_tag"); Tools.UpdateTextBox(txtASBUniqueID, objects, "flightsim_uniqueID"); Tools.UpdateNumericUpDown(lodValueNumeric, objects, "flightsim_lod_value"); }
private void cmbExportAnimationType_SelectedIndexChanged(object sender, EventArgs e) { switch ((AnimationExportType)cmbExportAnimationType.SelectedIndex) { case AnimationExportType.NotExport: chkExportMorphTangents.Enabled = false; chkExportMorphNormals.Enabled = false; chkWriteTextures.Enabled = true; chkOverwriteTextures.Enabled = true; chkExportMaterials.Enabled = true; chkMergeAOwithMR.Enabled = true; chkDracoCompression.Enabled = true; chkExportTangents.Enabled = true; break; case AnimationExportType.Export: chkWriteTextures.Enabled = true; chkOverwriteTextures.Enabled = true; chkExportMaterials.Enabled = true; chkMergeAOwithMR.Enabled = true; chkDracoCompression.Enabled = true; chkExportTangents.Enabled = true; chkExportMorphTangents.Enabled = true; chkExportMorphNormals.Enabled = true; break; case AnimationExportType.ExportOnly: chkExportMorphTangents.Enabled = true; chkExportMorphNormals.Enabled = true; chkWriteTextures.Enabled = false; chkOverwriteTextures.Enabled = false; chkExportMaterials.Enabled = false; chkMergeAOwithMR.Enabled = false; chkDracoCompression.Enabled = false; chkExportTangents.Enabled = false; break; default: throw new ArgumentOutOfRangeException(); } Tools.UpdateComboBox(cmbExportAnimationType, Loader.Core.RootNode, "babylonjs_export_animations_type"); }
private void butOK_Click(object sender, EventArgs e) { Tools.UpdateCheckBox(chkNoExport, objects, "babylonjs_noexport"); Tools.UpdateCheckBox(chkCollisions, objects, "babylonjs_checkcollisions"); Tools.UpdateCheckBox(chkPickable, objects, "babylonjs_checkpickable"); Tools.UpdateCheckBox(chkOptimize, objects, "babylonjs_optimizevertices"); Tools.UpdateCheckBox(chkShowBoundingBox, objects, "babylonjs_showboundingbox"); Tools.UpdateCheckBox(chkShowSubMeshesBoundingBox, objects, "babylonjs_showsubmeshesboundingbox"); Tools.UpdateCheckBox(chkAutoAnimate, objects, "babylonjs_autoanimate"); Tools.UpdateCheckBox(chkLoop, objects, "babylonjs_autoanimateloop"); Tools.UpdateNumericUpDown(nupFrom, objects, "babylonjs_autoanimate_from"); Tools.UpdateNumericUpDown(nupTo, objects, "babylonjs_autoanimate_to"); Tools.UpdateNumericUpDown(nupAlphaIndex, objects, "babylonjs_alphaindex"); Tools.UpdateNumericUpDown(nupMass, objects, "babylonjs_mass"); Tools.UpdateNumericUpDown(nupFriction, objects, "babylonjs_friction"); Tools.UpdateNumericUpDown(nupRestitution, objects, "babylonjs_restitution"); Tools.UpdateComboBox(cbImpostor, objects, "babylonjs_impostor"); }
private async Task <bool> DoExport() { Tools.UpdateCheckBox(chkManifest, Loader.Core.RootNode, "babylonjs_generatemanifest"); Tools.UpdateCheckBox(chkCopyTextures, Loader.Core.RootNode, "babylonjs_copytextures"); 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.UpdateComboBox(comboOutputFormat, Loader.Core.RootNode, "babylonjs_outputFormat"); Loader.Core.RootNode.SetLocalData(txtFilename.Text); exporter = new BabylonExporter(); 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; butCancel.Enabled = true; bool success = true; try { ExportParameters exportParameters = new ExportParameters(); exportParameters.outputPath = txtFilename.Text; exportParameters.outputFormat = comboOutputFormat.SelectedItem.ToString(); exportParameters.scaleFactor = txtScaleFactor.Text; exportParameters.copyTexturesToOutput = chkCopyTextures.Checked; exportParameters.exportHiddenObjects = chkHidden.Checked; exportParameters.exportOnlySelected = chkOnlySelected.Checked; exportParameters.generateManifest = chkManifest.Checked; exportParameters.autoSave3dsMaxFile = chkAutoSave.Checked; exporter.callerForm = this; exporter.Export(exportParameters); } catch (OperationCanceledException) { progressBar.Value = 0; success = false; } catch (Exception ex) { currentNode = CreateTreeNode(0, "Exportation cancelled: " + ex.Message, Color.Red); currentNode.EnsureVisible(); progressBar.Value = 0; success = false; } butCancel.Enabled = false; butExport.Enabled = true; butExportAndRun.Enabled = WebServer.IsSupported; BringToFront(); return(success); }
private void comboOutputFormat_SelectedIndexChanged(object sender, EventArgs e) { var outputFormat = comboOutputFormat.SelectedItem.ToString(); switch (outputFormat) { case "babylon": case "binary babylon": this.saveFileDialog.DefaultExt = "babylon"; this.saveFileDialog.Filter = "Babylon files|*.babylon"; chkDracoCompression.Checked = false; chkDracoCompression.Enabled = false; chkWriteTextures.Enabled = true; chkOverwriteTextures.Enabled = true; txtTexturesPath.Text = string.Empty; txtTexturesPath.Enabled = false; textureLabel.Enabled = false; btnTxtBrowse.Enabled = false; chkNoAutoLight.Enabled = true; chkFullPBR.Enabled = true; btnEnvBrowse.Enabled = true; txtEnvironmentName.Enabled = true; chkKHRMaterialsUnlit.Enabled = false; chkKHRLightsPunctual.Enabled = false; chkKHRTextureTransform.Enabled = false; chkASBAnimationRetargeting.Enabled = false; break; case "gltf": this.saveFileDialog.DefaultExt = "gltf"; this.saveFileDialog.Filter = "glTF files|*.gltf"; chkDracoCompression.Enabled = gltfPipelineInstalled; chkWriteTextures.Enabled = true; chkOverwriteTextures.Enabled = true; txtTexturesPath.Enabled = true; textureLabel.Enabled = true; btnTxtBrowse.Enabled = true; chkNoAutoLight.Enabled = false; chkNoAutoLight.Checked = false; chkFullPBR.Enabled = false; chkFullPBR.Checked = false; btnEnvBrowse.Enabled = false; txtEnvironmentName.Enabled = false; txtEnvironmentName.Text = string.Empty; chkKHRMaterialsUnlit.Enabled = true; chkKHRLightsPunctual.Enabled = true; chkKHRTextureTransform.Enabled = true; chkASBAnimationRetargeting.Enabled = true; break; case "glb": this.saveFileDialog.DefaultExt = "glb"; this.saveFileDialog.Filter = "glb files|*.glb"; chkDracoCompression.Enabled = gltfPipelineInstalled; chkWriteTextures.Checked = true; chkWriteTextures.Enabled = false; chkOverwriteTextures.Checked = true; chkOverwriteTextures.Enabled = false; txtTexturesPath.Text = string.Empty; txtTexturesPath.Enabled = false; textureLabel.Enabled = false; btnTxtBrowse.Enabled = false; chkNoAutoLight.Enabled = false; chkNoAutoLight.Checked = false; chkFullPBR.Enabled = false; chkFullPBR.Checked = false; btnEnvBrowse.Enabled = false; txtEnvironmentName.Enabled = false; txtEnvironmentName.Text = string.Empty; chkKHRMaterialsUnlit.Enabled = true; chkKHRLightsPunctual.Enabled = true; chkKHRTextureTransform.Enabled = true; chkASBAnimationRetargeting.Enabled = true; break; } string newModelPath = Path.ChangeExtension(txtModelPath.Text, this.saveFileDialog.DefaultExt); this.txtModelPath.MaxPath(newModelPath); Tools.UpdateComboBox(comboOutputFormat, Loader.Core.RootNode, "babylonjs_outputFormat"); }
private async Task <bool> DoExport() { 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"); Loader.Core.RootNode.SetLocalData(txtFilename.Text); exporter = new BabylonExporter(); 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; butCancel.Enabled = true; bool success = true; try { ExportParameters exportParameters = new ExportParameters { outputPath = 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 }; exporter.callerForm = this; exporter.Export(exportParameters); } catch (OperationCanceledException) { progressBar.Value = 0; success = false; } catch (Exception ex) { currentNode = CreateTreeNode(0, "Exportation 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; butExportAndRun.Enabled = WebServer.IsSupported; BringToFront(); return(success); }