From 19b8b1021848d1c9f191e924a2612abf5cedb9fc Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Fri, 3 Jan 2025 23:06:01 +0100 Subject: [PATCH] Add an editor setting for the GridMap grid color The opacity can be adjusted by changing the alpha channel of the color setting. The setting applies without having to restart the editor. --- doc/classes/EditorSettings.xml | 3 +++ editor/editor_property_name_processor.cpp | 1 + editor/editor_settings.cpp | 1 + modules/gridmap/editor/grid_map_editor_plugin.cpp | 6 +++++- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index e1c85d3595f..c24be30a653 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -432,6 +432,9 @@ The 3D editor gizmo color for [FogVolume] nodes. + + The 3D editor gizmo color for the [GridMap] grid. + The color override to use for 3D editor gizmos if the [Node3D] in question is part of an instantiated scene file (from the perspective of the current scene). diff --git a/editor/editor_property_name_processor.cpp b/editor/editor_property_name_processor.cpp index 3560174e6b5..a0baad7a141 100644 --- a/editor/editor_property_name_processor.cpp +++ b/editor/editor_property_name_processor.cpp @@ -202,6 +202,7 @@ EditorPropertyNameProcessor::EditorPropertyNameProcessor() { capitalize_string_remaps["gles2"] = "GLES2"; capitalize_string_remaps["gles3"] = "GLES3"; capitalize_string_remaps["gltf"] = "glTF"; + capitalize_string_remaps["gridmap"] = "GridMap"; capitalize_string_remaps["gpu"] = "GPU"; capitalize_string_remaps["gui"] = "GUI"; capitalize_string_remaps["guid"] = "GUID"; diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 78dd3919147..778ea15f26d 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -793,6 +793,7 @@ void EditorSettings::_load_defaults(Ref p_extra_config) { EDITOR_SETTING_USAGE(Variant::COLOR, PROPERTY_HINT_NONE, "editors/3d_gizmos/gizmo_colors/skeleton", Color(1, 0.8, 0.4), "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED) EDITOR_SETTING_USAGE(Variant::COLOR, PROPERTY_HINT_NONE, "editors/3d_gizmos/gizmo_colors/selected_bone", Color(0.8, 0.3, 0.0), "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED) EDITOR_SETTING_USAGE(Variant::COLOR, PROPERTY_HINT_NONE, "editors/3d_gizmos/gizmo_colors/csg", Color(0.0, 0.4, 1, 0.15), "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED) + EDITOR_SETTING(Variant::COLOR, PROPERTY_HINT_NONE, "editors/3d_gizmos/gizmo_colors/gridmap_grid", Color(0.8, 0.5, 0.1), "") _initial_set("editors/3d_gizmos/gizmo_settings/bone_axis_length", (float)0.1); EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "editors/3d_gizmos/gizmo_settings/bone_shape", 1, "Wire,Octahedron"); EDITOR_SETTING_USAGE(Variant::FLOAT, PROPERTY_HINT_NONE, "editors/3d_gizmos/gizmo_settings/path3d_tilt_disk_size", 0.8, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED) diff --git a/modules/gridmap/editor/grid_map_editor_plugin.cpp b/modules/gridmap/editor/grid_map_editor_plugin.cpp index a4f26de6cee..75f191c92c0 100644 --- a/modules/gridmap/editor/grid_map_editor_plugin.cpp +++ b/modules/gridmap/editor/grid_map_editor_plugin.cpp @@ -1251,6 +1251,10 @@ void GridMapEditor::_notification(int p_what) { forward_spatial_input_event(nullptr, release); } } break; + + case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { + indicator_mat->set_albedo(EDITOR_GET("editors/3d_gizmos/gizmo_colors/gridmap_grid")); + } break; } } @@ -1713,7 +1717,7 @@ GridMapEditor::GridMapEditor() { indicator_mat->set_flag(StandardMaterial3D::FLAG_SRGB_VERTEX_COLOR, true); indicator_mat->set_flag(StandardMaterial3D::FLAG_ALBEDO_FROM_VERTEX_COLOR, true); indicator_mat->set_flag(StandardMaterial3D::FLAG_DISABLE_FOG, true); - indicator_mat->set_albedo(Color(0.8, 0.5, 0.1)); + indicator_mat->set_albedo(EDITOR_GET("editors/3d_gizmos/gizmo_colors/gridmap_grid")); } GridMapEditor::~GridMapEditor() {