diff options
author | SaracenOne <SaracenOne@gmail.com> | 2022-01-07 19:49:42 +0000 |
---|---|---|
committer | SaracenOne <SaracenOne@gmail.com> | 2022-01-07 19:57:02 +0000 |
commit | 7f16bed9477e0343bf043498bde6f81e3cc1bd0b (patch) | |
tree | ce6de19f441302a92248ece5985504b7da804810 /modules | |
parent | 6e4da909aaa7ca70864016bac3a8fe424ee7194a (diff) |
Fix selection of CSG objects
Diffstat (limited to 'modules')
-rw-r--r-- | modules/csg/csg_gizmos.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/csg/csg_gizmos.cpp b/modules/csg/csg_gizmos.cpp index 71891c8704..f6e09067d2 100644 --- a/modules/csg/csg_gizmos.cpp +++ b/modules/csg/csg_gizmos.cpp @@ -343,6 +343,16 @@ void CSGShape3DGizmoPlugin::redraw(EditorNode3DGizmo *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); |