Skip to content

Commit 7982030

Browse files
committed
Merge pull request godotengine#69197 from aaronfranke/fix-tiny-convex
Fix debug line drawing with tiny convex hull mesh colliders
2 parents 163bf94 + 96ec117 commit 7982030

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

editor/plugins/gizmos/collision_shape_3d_gizmo_plugin.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -538,20 +538,19 @@ void CollisionShape3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
538538
if (Object::cast_to<ConvexPolygonShape3D>(*s)) {
539539
Vector<Vector3> points = Object::cast_to<ConvexPolygonShape3D>(*s)->get_points();
540540

541-
if (points.size() > 3) {
541+
if (points.size() > 1) { // Need at least 2 points for a line.
542542
Vector<Vector3> varr = Variant(points);
543543
Geometry3D::MeshData md;
544544
Error err = ConvexHullComputer::convex_hull(varr, md);
545545
if (err == OK) {
546-
Vector<Vector3> points2;
547-
points2.resize(md.edges.size() * 2);
546+
Vector<Vector3> lines;
547+
lines.resize(md.edges.size() * 2);
548548
for (uint32_t i = 0; i < md.edges.size(); i++) {
549-
points2.write[i * 2 + 0] = md.vertices[md.edges[i].vertex_a];
550-
points2.write[i * 2 + 1] = md.vertices[md.edges[i].vertex_b];
549+
lines.write[i * 2 + 0] = md.vertices[md.edges[i].vertex_a];
550+
lines.write[i * 2 + 1] = md.vertices[md.edges[i].vertex_b];
551551
}
552-
553-
p_gizmo->add_lines(points2, material);
554-
p_gizmo->add_collision_segments(points2);
552+
p_gizmo->add_lines(lines, material);
553+
p_gizmo->add_collision_segments(lines);
555554
}
556555
}
557556
}

scene/resources/3d/convex_polygon_shape_3d.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
Vector<Vector3> ConvexPolygonShape3D::get_debug_mesh_lines() const {
3636
Vector<Vector3> poly_points = get_points();
3737

38-
if (poly_points.size() > 3) {
38+
if (poly_points.size() > 1) { // Need at least 2 points for a line.
3939
Vector<Vector3> varr = Variant(poly_points);
4040
Geometry3D::MeshData md;
4141
Error err = ConvexHullComputer::convex_hull(varr, md);

0 commit comments

Comments
 (0)