private void LoadSettings() { string shaderNameDiffuse = EditorPrefs.GetString("VOXIMPORT_importDiffuseShader", "Standard"); string shaderNameMetal = EditorPrefs.GetString("VOXIMPORT_importMetalShader", "Standard"); string shaderNameGlass = EditorPrefs.GetString("VOXIMPORT_importGlassShader", "Standard"); string shaderNameEmission = EditorPrefs.GetString("VOXIMPORT_importEmissionShader", "Standard"); string shaderNamePlastic = EditorPrefs.GetString("VOXIMPORT_importPlasticShader", "Standard"); string shaderNameClouds = EditorPrefs.GetString("VOXIMPORT_importCloudsShader", "Standard"); importDiffuseShader = Shader.Find(shaderNameDiffuse); importMetalShader = Shader.Find(shaderNameMetal); importGlassShader = Shader.Find(shaderNameGlass); importEmissionShader = Shader.Find(shaderNameEmission); importPlasticShader = Shader.Find(shaderNamePlastic); importCloudsShader = Shader.Find(shaderNameClouds); VerifyShaders(); importScale = EditorPrefs.GetFloat("VOXIMPORT_SCALE", .1f); importMaterials = EditorPrefs.GetBool("VOXIMPORT_MAT", false); importRemoveHidden = EditorPrefs.GetBool("VOXIMPORT_HIDDEN", false); importRigidbody = EditorPrefs.GetBool("VOXIMPORT_RIGIDBODY", false); importStatic = EditorPrefs.GetBool("VOXIMPORT_STATIC", false); import2Sided = EditorPrefs.GetBool("VOXIMPORT_SHADOW2SIDED", true); importSingleMesh = EditorPrefs.GetBool("VOXIMPORT_SINGLEMESH", false); importPadding = EditorPrefs.GetInt("VOXIMPORT_TEXUREPAD", 1); importTextureScale = EditorPrefs.GetInt("VOXIMPORT_TEXURESCALE", 1); importCollider = (ImportCollider)EditorPrefs.GetInt("VOXIMPORT_COLLIDER", 0); }
private void LoadSettings() { string shaderNameDiffuse = EditorPrefs.GetString("VOXIMPORT_importDiffuseShader", "Standard"); importDiffuseShader = Shader.Find(shaderNameDiffuse); VerifyShaders(); importScale = EditorPrefs.GetFloat("VOXIMPORT_SCALE", .1f); importRemoveHidden = EditorPrefs.GetBool("VOXIMPORT_HIDDEN", false); importRigidbody = EditorPrefs.GetBool("VOXIMPORT_RIGIDBODY", false); importStatic = EditorPrefs.GetBool("VOXIMPORT_STATIC", false); import2Sided = EditorPrefs.GetBool("VOXIMPORT_SHADOW2SIDED", true); importPadding = EditorPrefs.GetInt("VOXIMPORT_TEXUREPAD", 1); importTextureScale = EditorPrefs.GetInt("VOXIMPORT_TEXURESCALE", 1); importCollider = (ImportCollider)EditorPrefs.GetInt("VOXIMPORT_COLLIDER", 0); }
public override void OnInspectorGUI() { ApplyRevertGUI(); if (!importer.IsValid) { EditorGUILayout.LabelField("Invalid Vox file!"); return; } if (importer.models.Count == 1) { EditorGUILayout.BeginHorizontal(); string info = string.Format("{0} Voxels {1}", importer.totalVoxels, importer.Size(selectedModel).ToString()); EditorGUILayout.LabelField(info); EditorGUILayout.EndHorizontal(); } else { EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); importType = (ImportType)EditorGUILayout.EnumPopup(importType, GUILayout.Width(58)); if (EditorGUI.EndChangeCheck()) { if (importType == ImportType.Merge) { CreatePreviewMesh(MergedModels()); CenterPivot(); } else { CreatePreviewMesh(importer.GetData(selectedModel)); CenterPivot(); } } if (importType == ImportType.Merge) { Vector3Int previewSize = new Vector3Int((int)previewMesh.bounds.size.x, (int)previewMesh.bounds.size.y, (int)previewMesh.bounds.size.z); string info = string.Format("{0} Models, {1} Voxels {2}", importer.models.Count, importer.totalVoxels, previewSize.ToString()); EditorGUILayout.LabelField(info); } else { EditorGUI.BeginChangeCheck(); selectedModel = EditorGUILayout.Popup(selectedModel, importer.modelNames.ToArray()); if (EditorGUI.EndChangeCheck()) { CreatePreviewMesh(importer.GetData(selectedModel)); CenterPivot(); } string info = string.Format("{0} Models {1}", importer.models.Count, importer.Size(selectedModel).ToString()); EditorGUILayout.LabelField(info); } EditorGUILayout.EndHorizontal(); } HandlePreview(); importScale = EditorGUILayout.FloatField("Voxel Scale", importScale); importPadding = EditorGUILayout.IntSlider("Texture Padding", importPadding, 0, 8); importTextureScale = EditorGUILayout.IntSlider("Texture Scale", importTextureScale, 1, 16); GUILayout.BeginHorizontal(); importPivot = EditorGUILayout.Vector3Field("Pivot", importPivot); if (GUILayout.Button("Center", GUILayout.Width(50))) { CenterPivot(); } GUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); importStatic = EditorGUILayout.Toggle("Static", importStatic); importRemoveHidden = EditorGUILayout.Toggle("Remove Hidden", importRemoveHidden); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); importMaterials = EditorGUILayout.Toggle("Materials", importMaterials); importSingleMesh = EditorGUILayout.Toggle("Single Mesh", importSingleMesh); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); import2Sided = EditorGUILayout.Toggle("2 Sided", import2Sided); EditorGUILayout.EndHorizontal(); importRigidbody = EditorGUILayout.Toggle("Rigid Body", importRigidbody); importCollider = (ImportCollider)EditorGUILayout.EnumPopup("Collider", importCollider); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Prefix", GUILayout.Width(40)); prefix = GUILayout.TextField(prefix, GUILayout.Width(75)); if (GUILayout.Button("Create Prefab")) { CreatePrefab(); } if (GUILayout.Button("Create Voxel Data")) { CreateData(); } EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Default Settings")) { DefaultSettings(); } if (importMaterials) { GUILayout.Space(10); //EditorGUILayout.HelpBox("Materials", MessageType.None); importDiffuseShader = (Shader)EditorGUILayout.ObjectField("Diffuse", importDiffuseShader, typeof(Shader), true); importMetalShader = (Shader)EditorGUILayout.ObjectField("Metal", importMetalShader, typeof(Shader), true); importGlassShader = (Shader)EditorGUILayout.ObjectField("Glass", importGlassShader, typeof(Shader), true); importEmissionShader = (Shader)EditorGUILayout.ObjectField("Emission", importEmissionShader, typeof(Shader), true); importPlasticShader = (Shader)EditorGUILayout.ObjectField("Plastic", importPlasticShader, typeof(Shader), true); importCloudsShader = (Shader)EditorGUILayout.ObjectField("Clouds", importCloudsShader, typeof(Shader), true); } }