Fix debug NavigationRegion3D colors not updating until project re-start
(cherry picked from commit 984e7379e2f096db9a2e62d1f8a81f9bf2570769)
This commit is contained in:
1 parent
e9ea372b8a
commit
ddac71fd62
1 file changed
+33
-2
@@ -184,7 +184,23 @@ void NavigationRegion3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
|
||||
}
|
||||
|
||||
debug_mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, face_mesh_array);
|
||||
p_gizmo->add_mesh(debug_mesh, navigationregion->is_enabled() ? get_material("face_material", p_gizmo) : get_material("face_material_disabled", p_gizmo));
|
||||
|
||||
const String face_material_name = navigationregion->is_enabled() ? "face_material" : "face_material_disabled";
|
||||
Ref<StandardMaterial3D> face_material = get_material(face_material_name, p_gizmo);
|
||||
if (navigationregion->is_enabled()) {
|
||||
Color mat_color = NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_color();
|
||||
if (!p_gizmo->is_selected()) {
|
||||
mat_color.a *= 0.3;
|
||||
}
|
||||
face_material->set_albedo(mat_color);
|
||||
} else {
|
||||
Color mat_color = NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_disabled_color();
|
||||
if (!p_gizmo->is_selected()) {
|
||||
mat_color.a *= 0.3;
|
||||
}
|
||||
face_material->set_albedo(mat_color);
|
||||
}
|
||||
p_gizmo->add_mesh(debug_mesh, face_material);
|
||||
|
||||
// if enabled build geometry edge line surface
|
||||
bool enabled_edge_lines = NavigationServer3D::get_singleton()->get_debug_navigation_enable_edge_lines();
|
||||
@@ -203,6 +219,21 @@ void NavigationRegion3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
|
||||
line_vertex_array.push_back(vertices[polygon[0]]);
|
||||
}
|
||||
|
||||
p_gizmo->add_lines(line_vertex_array, navigationregion->is_enabled() ? get_material("edge_material", p_gizmo) : get_material("edge_material_disabled", p_gizmo));
|
||||
const String line_material_name = navigationregion->is_enabled() ? "edge_material" : "edge_material_disabled";
|
||||
Ref<StandardMaterial3D> line_material = get_material(line_material_name, p_gizmo);
|
||||
if (navigationregion->is_enabled()) {
|
||||
Color mat_color = NavigationServer3D::get_singleton()->get_debug_navigation_geometry_edge_color();
|
||||
if (!p_gizmo->is_selected()) {
|
||||
mat_color.a *= 0.3;
|
||||
}
|
||||
line_material->set_albedo(mat_color);
|
||||
} else {
|
||||
Color mat_color = NavigationServer3D::get_singleton()->get_debug_navigation_geometry_edge_disabled_color();
|
||||
if (!p_gizmo->is_selected()) {
|
||||
mat_color.a *= 0.3;
|
||||
}
|
||||
line_material->set_albedo(mat_color);
|
||||
}
|
||||
p_gizmo->add_lines(line_vertex_array, line_material);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user