diff options
| -rw-r--r-- | editor/plugins/node_3d_editor_gizmos.cpp | 14 | ||||
| -rw-r--r-- | scene/resources/navigation_mesh.cpp | 4 | 
2 files changed, 16 insertions, 2 deletions
diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp index e48a5bb95d..bcb94b0f32 100644 --- a/editor/plugins/node_3d_editor_gizmos.cpp +++ b/editor/plugins/node_3d_editor_gizmos.cpp @@ -4876,6 +4876,10 @@ NavigationRegion3DGizmoPlugin::NavigationRegion3DGizmoPlugin() {  	create_material("face_material_disabled", NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_disabled_color(), false, false, true);  	create_material("edge_material", NavigationServer3D::get_singleton()->get_debug_navigation_geometry_edge_color());  	create_material("edge_material_disabled", NavigationServer3D::get_singleton()->get_debug_navigation_geometry_edge_disabled_color()); + +	Color baking_aabb_material_color = Color(0.8, 0.5, 0.7); +	baking_aabb_material_color.a = 0.1; +	create_material("baking_aabb_material", baking_aabb_material_color);  }  bool NavigationRegion3DGizmoPlugin::has_gizmo(Node3D *p_spatial) { @@ -4899,6 +4903,16 @@ void NavigationRegion3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {  		return;  	} +	AABB baking_aabb = navigationmesh->get_filter_baking_aabb(); +	if (baking_aabb.has_volume()) { +		Vector3 baking_aabb_offset = navigationmesh->get_filter_baking_aabb_offset(); + +		if (p_gizmo->is_selected()) { +			Ref<Material> material = get_material("baking_aabb_material", p_gizmo); +			p_gizmo->add_solid_box(material, baking_aabb.get_size(), baking_aabb.get_center() + baking_aabb_offset); +		} +	} +  	Vector<Vector3> vertices = navigationmesh->get_vertices();  	const Vector3 *vr = vertices.ptr();  	List<Face3> faces; diff --git a/scene/resources/navigation_mesh.cpp b/scene/resources/navigation_mesh.cpp index 7e1b42c80b..1d13f07b12 100644 --- a/scene/resources/navigation_mesh.cpp +++ b/scene/resources/navigation_mesh.cpp @@ -278,7 +278,7 @@ bool NavigationMesh::get_filter_walkable_low_height_spans() const {  void NavigationMesh::set_filter_baking_aabb(const AABB &p_aabb) {  	filter_baking_aabb = p_aabb; -	notify_property_list_changed(); +	emit_changed();  }  AABB NavigationMesh::get_filter_baking_aabb() const { @@ -287,7 +287,7 @@ AABB NavigationMesh::get_filter_baking_aabb() const {  void NavigationMesh::set_filter_baking_aabb_offset(const Vector3 &p_aabb_offset) {  	filter_baking_aabb_offset = p_aabb_offset; -	notify_property_list_changed(); +	emit_changed();  }  Vector3 NavigationMesh::get_filter_baking_aabb_offset() const {  |