public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowControls = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.controls, m_ShowControls); if (m_ShowControls) { EditorGUILayout.BeginVertical("GroupBox"); m_direction = EditorGUILayout.Slider(Styles.direction, m_direction, -1.0f, 1.0f); m_KernelSize = EditorGUILayout.Slider(Styles.kernelSize, m_KernelSize, 0.0f, 10.0f); EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { SaveSetting(); Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowBridgeControls = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.controlHeader, m_ShowBridgeControls); if (m_ShowBridgeControls) { //"Controls the width of the bridge over the length of the stroke" bridgeToolProperties.widthProfile = EditorGUILayout.CurveField(Styles.widthProfileContent, bridgeToolProperties.widthProfile); bridgeToolProperties.heightProfile = EditorGUILayout.CurveField(Styles.heightProfileContent, bridgeToolProperties.heightProfile); bridgeToolProperties.strengthProfile = EditorGUILayout.CurveField(Styles.strengthProfileContent, bridgeToolProperties.strengthProfile); bridgeToolProperties.jitterProfile = EditorGUILayout.CurveField(Styles.jitterProfileContent, bridgeToolProperties.jitterProfile); } if (EditorGUI.EndChangeCheck()) { SaveSetting(); Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowControls = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.controls, m_ShowControls); if (m_ShowControls) { EditorGUILayout.BeginHorizontal("GroupBox"); { EditorGUILayout.PrefixLabel(Styles.affect); m_AffectMaterials = TerrainToolGUIHelper.ToggleButton(Styles.alphamap, m_AffectMaterials); m_AffectHeight = TerrainToolGUIHelper.ToggleButton(Styles.heightmap, m_AffectHeight); } EditorGUILayout.EndHorizontal(); } if (EditorGUI.EndChangeCheck()) { SaveSetting(); Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowControls = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.controls, m_ShowControls); if (m_ShowControls) { EditorGUILayout.BeginVertical("GroupBox"); { terraceToolProperties.m_FeatureSize = EditorGUILayout.Slider(Styles.terraceCount, terraceToolProperties.m_FeatureSize, 2.0f, 1000.0f); terraceToolProperties.m_JitterTerraceCount = EditorGUILayout.Slider(Styles.jitter, terraceToolProperties.m_JitterTerraceCount, 0.0f, 1.0f); terraceToolProperties.m_BevelAmountInterior = EditorGUILayout.Slider(Styles.cornerWeight, terraceToolProperties.m_BevelAmountInterior, 0.0f, 1.0f); } EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { SaveSetting(); Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowControls = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.controls, m_ShowControls); if (m_ShowControls) { EditorGUILayout.BeginVertical("GroupBox"); m_MixStrength = EditorGUILayout.Slider(Styles.featureSharpness, m_MixStrength, 0, 1); EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { SaveSetting(); Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); if (EditorGUI.EndChangeCheck()) { Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowControls = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.controlHeader, m_ShowControls); if (m_ShowControls) { EditorGUILayout.BeginVertical("GroupBox"); { // draw button-like toggles for choosing which terrain textures to sample EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel(Styles.cloneSourceContent); cloneToolProperties.m_PaintAlphamap = TerrainToolGUIHelper.ToggleButton(Styles.cloneTextureContent, cloneToolProperties.m_PaintAlphamap); cloneToolProperties.m_PaintHeightmap = TerrainToolGUIHelper.ToggleButton(Styles.cloneHeightmapContent, cloneToolProperties.m_PaintHeightmap); } EditorGUILayout.EndHorizontal(); cloneToolProperties.m_MovementBehavior = (MovementBehavior)EditorGUILayout.EnumPopup(Styles.cloneBehaviorContent, cloneToolProperties.m_MovementBehavior); cloneToolProperties.m_StampingOffsetFromClone = EditorGUILayout.Slider(Styles.heightOffsetContent, cloneToolProperties.m_StampingOffsetFromClone, -terrain.terrainData.size.y, terrain.terrainData.size.y); } EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { m_isPainting = false; m_HasDoneFirstPaint = false; Save(true); SaveSetting(); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); Styles styles = GetStyles(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowControls = TerrainToolGUIHelper.DrawHeaderFoldout(styles.controls, m_ShowControls); if (!m_ShowControls) { return; } EditorGUI.BeginChangeCheck(); { EditorGUILayout.BeginVertical("GroupBox"); { float height = Mathf.Abs(stampToolProperties.m_StampHeight); height = EditorGUILayout.Slider(styles.height, height, 0, terrain.terrainData.size.y); stampToolProperties.stampDown = EditorGUILayout.Toggle(styles.down, stampToolProperties.stampDown); stampToolProperties.m_StampHeight = height; stampToolProperties.m_MaxBlendAdd = EditorGUILayout.Slider(styles.maxadd, stampToolProperties.m_MaxBlendAdd, 0.0f, 1.0f); } EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { SaveSetting(); Save(true); } base.OnInspectorGUI(terrain, editContext); }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (m_HardnessNoiseSettings == null) { m_HardnessNoiseSettings = ScriptableObject.CreateInstance <NoiseSettings>(); m_HardnessNoiseSettings.Reset(); } Erosion.HydraulicErosionSettings erosionSettings = ((Erosion.HydraulicEroder)m_Eroder).m_ErosionSettings; EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_Eroder.OnInspectorGUI(terrain, editContext); if (EditorGUI.EndChangeCheck()) { Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { if (!m_initialized) { LoadSettings(); m_initialized = true; } EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); s_showToolControls = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.controlHeader, s_showToolControls); if (s_showToolControls) { EditorGUILayout.BeginVertical("GroupBox"); { GUILayout.BeginHorizontal(); { m_HeightWorldSpace = EditorGUILayout.Slider(Styles.height, m_HeightWorldSpace, 0, terrain.terrainData.size.y); if (GUILayout.Button(Styles.flatten, GUILayout.ExpandWidth(false))) { Flatten(terrain); } if (GUILayout.Button(Styles.flattenAll, GUILayout.ExpandWidth(false))) { FlattenAll(terrain); } } GUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { SaveSetting(); Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { Init(); // brush GUI brushUI.OnInspectorGUI(terrain, editContext); EditorGUI.BeginChangeCheck(); { toolSettings.showToolSettings = TerrainToolGUIHelper.DrawHeaderFoldout(Styles.settings, toolSettings.showToolSettings); if (toolSettings.showToolSettings) { toolSettings.blendAmount = EditorGUILayout.Slider(Styles.blendAmount, toolSettings.blendAmount, 0, 1); if (activeMesh == null) { EditorGUILayout.HelpBox(Styles.nullMeshString, MessageType.Warning); } EditorGUILayout.BeginHorizontal(); { activeMesh = EditorGUILayout.ObjectField(Styles.meshContent, activeMesh as Object, typeof(Mesh), false) as Mesh; if (GUILayout.Button(Styles.resetTransformContent, GUILayout.ExpandWidth(false))) { toolSettings.rotation = Quaternion.identity; toolSettings.stampHeight = 0; toolSettings.scale = Vector3.one; } } EditorGUILayout.EndHorizontal(); toolSettings.stampHeight = EditorGUILayout.FloatField(Styles.stampHeightContent, toolSettings.stampHeight); toolSettings.scale = EditorGUILayout.Vector3Field(Styles.stampScaleContent, toolSettings.scale); toolSettings.scale.x = Mathf.Max(toolSettings.scale.x, 0.02f); toolSettings.scale.y = Mathf.Max(toolSettings.scale.y, 0.02f); toolSettings.scale.z = Mathf.Max(toolSettings.scale.z, 0.02f); toolSettings.rotation = Quaternion.Euler(EditorGUILayout.Vector3Field(Styles.stampRotationContent, toolSettings.rotation.eulerAngles)); } } // EditorGUILayout.BeginVertical("GroupBox"); // { // GUILayout.Label( "World Bounds:" ); // GUILayout.Label( "Center: " + m_worldBounds.center ); // GUILayout.Label( "Size: " + m_worldBounds.size ); // GUILayout.Label( "Max: " + m_worldBounds.max ); // GUILayout.Label( "Min: " + m_worldBounds.min ); // } // EditorGUILayout.EndVertical(); // EditorGUILayout.BeginVertical("GroupBox"); // { // GUILayout.Label( "Ortho Camera:" ); // GUILayout.Label( "LookAt: " + lookAtZ ); // GUILayout.Label( "Near: " + nearPlane ); // GUILayout.Label( "Far: " + farPlane ); // GUILayout.Label( "Right: " + orthoRight ); // GUILayout.Label( "Left: " + orthoLeft ); // } // EditorGUILayout.EndVertical(); // EditorGUILayout.BeginVertical("GroupBox"); // { // GUILayout.Label( "Handle Info:" ); // GUILayout.Label( "Handle Pos: " + m_baseHandlePos ); // GUILayout.Label( "Delta height: " + m_handleHeightOffsetWS ); // GUILayout.Label( "Stamp height: " + toolSettings.stampHeight ); // } // EditorGUILayout.EndVertical(); // debugOrtho = TerrainToolGUIHelper.DrawHeaderFoldout( new GUIContent("Debug"), debugOrtho ); // if( debugOrtho ) // { // orthoLeft = EditorGUILayout.FloatField( "Left", orthoLeft ); // orthoRight = EditorGUILayout.FloatField( "Right", orthoRight ); // orthoTop = EditorGUILayout.FloatField( "Top", orthoTop ); // orthoBottom = EditorGUILayout.FloatField( "Bottom", orthoBottom ); // nearPlane = EditorGUILayout.FloatField( "Near", nearPlane ); // farPlane = EditorGUILayout.FloatField( "Far", farPlane ); // lookAtZ = EditorGUILayout.FloatField( "LookAtZ", lookAtZ ); // } if (EditorGUI.EndChangeCheck()) { SaveSettings(); Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { EditorGUI.BeginChangeCheck(); commonUI.OnInspectorGUI(terrain, editContext); m_ShowControls = TerrainToolGUIHelper.DrawHeaderFoldout(Erosion.Styles.m_ThermalErosionControls, m_ShowControls); if (m_ShowControls) { EditorGUILayout.BeginVertical("GroupBox"); /*m_AffectHeight = EditorGUILayout.Toggle(Erosion.Styles.m_AffectHeight, m_AffectHeight); * * if (m_AffectHeight) { * m_AddHeightAmt = EditorGUILayout.IntSlider(Erosion.Styles.m_AddHeight, m_AddHeightAmt, 0, 100); * }*/ string[] matNames = { "Custom", "Dry Ash", // 40 "Chalk", // 45 "Dry Clay", // 25 - 40 "Wet Clay", // 15 "Soil", // 30-45 "Granite Scree", // 35 - 40 "Gravel", //45 - 45 "Dry Sand", "Wet Sand", "Quick Sand", "Snow" }; float[,] tauValues = new float[, ] { { -1.0f, -1.0f }, //custom { 38.0f, 42.0f }, //dry ash { 45.0f, 45.0f }, //chalk { 25.0f, 40.0f }, //dry clay (25 - 40) { 15.0f, 15.0f }, //wet clay { 30.0f, 45.0f }, //soil (30-45) { 35.0f, 40.0f }, //crushed granite (35 - 40) { 45.0f, 45.0f }, //gravel { 32.0f, 36.0f }, //dry sand { 45.0f, 45.0f }, //wet sand { 15.0f, 30.0f }, //quicksand (15-30) { 38.0f, 38.0f } //snow }; EditorGUI.BeginChangeCheck(); m_Eroder.m_MatPreset = EditorGUILayout.Popup(Erosion.Styles.m_MatPreset, m_Eroder.m_MatPreset, matNames); if (EditorGUI.EndChangeCheck() && m_Eroder.m_MatPreset != 0) { m_Eroder.m_AngleOfRepose.x = tauValues[m_Eroder.m_MatPreset, 0]; m_Eroder.m_AngleOfRepose.y = tauValues[m_Eroder.m_MatPreset, 1]; } EditorGUI.indentLevel++; m_ShowAdvancedUI = EditorGUILayout.Foldout(m_ShowAdvancedUI, "Advanced"); if (m_ShowAdvancedUI) { m_Eroder.m_ThermalIterations = EditorGUILayout.IntSlider(Erosion.Styles.m_NumIterations, m_Eroder.m_ThermalIterations, 1, 1000); m_Eroder.m_dt = EditorGUILayout.Slider(Erosion.Styles.m_TimeDelta, m_Eroder.m_dt, 0.00001f, 0.05f); EditorGUI.BeginChangeCheck(); EditorGUILayout.MinMaxSlider(Erosion.Styles.m_AngleOfRepose, ref m_Eroder.m_AngleOfRepose.x, ref m_Eroder.m_AngleOfRepose.y, 0.0f, 90.0f); if (EditorGUI.EndChangeCheck()) { m_Eroder.m_MatPreset = 0; //we changed the angle of repose, so now we should switch the UI to "Custom" } m_Eroder.m_ReposeJitter = EditorGUILayout.IntSlider(Erosion.Styles.m_AngleOfReposeJitter, (int)m_Eroder.m_ReposeJitter, 0, 100); //m_ReposeNoiseScale = EditorGUILayout.Slider("Material Variation Scale", m_ReposeNoiseScale, 0.0001f, 1.0f); //m_ReposeNoiseAmount = EditorGUILayout.Slider("Material Variation Amount", m_ReposeNoiseAmount, 0.0f, 1.0f); } /* * m_ShowMaterialUI = EditorGUILayout.Foldout(m_ShowMaterialUI, "Material"); * if (m_ShowMaterialUI) { * m_AffectMaterial = EditorGUILayout.Toggle(Erosion.Styles.m_AffectMaterial, m_AffectMaterial); * if (m_AffectMaterial) { * m_MaterialPaintStrength = EditorGUILayout.IntSlider(Erosion.Styles.m_MaterialPaintStrength, m_MaterialPaintStrength, -100, 100); * * EditorGUI.BeginChangeCheck(); * * int layerIndex = TerrainPaintUtility.FindTerrainLayerIndex(terrain, m_SelectedTerrainLayer); * layerIndex = TerrainLayerUtility.ShowTerrainLayersSelectionHelper(terrain, layerIndex); * if (EditorGUI.EndChangeCheck()) { * if (layerIndex != -1) * m_SelectedTerrainLayer = terrain.terrainData.terrainLayers[layerIndex]; * * Save(true); * } * } * } */ EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { Save(true); } }
public override void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext) { commonUI.OnInspectorGUI(terrain, editContext); }