Browse Source

Fix selection of CSG objects

SaracenOne 3 years ago
parent
commit
b7273b6f7a
1 changed files with 10 additions and 0 deletions
  1. 10 0
      modules/csg/csg_gizmos.cpp

+ 10 - 0
modules/csg/csg_gizmos.cpp

@@ -377,6 +377,16 @@ void CSGShapeSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) {
 	p_gizmo->add_lines(lines, material);
 	p_gizmo->add_collision_segments(lines);
 
+	Array csg_meshes = cs->get_meshes();
+	if (csg_meshes.size() != 2) {
+		return;
+	}
+
+	Ref<Mesh> csg_mesh = csg_meshes[1];
+	if (csg_mesh.is_valid()) {
+		p_gizmo->add_collision_triangles(csg_mesh->generate_triangle_mesh());
+	}
+
 	if (p_gizmo->is_selected()) {
 		// Draw a translucent representation of the CSG node
 		Ref<ArrayMesh> mesh = memnew(ArrayMesh);