From 5e978d1df51a371012f93756ecb59d403d93f8db Mon Sep 17 00:00:00 2001 From: PouleyKetchoupp Date: Tue, 9 Feb 2021 18:36:38 -0700 Subject: [PATCH] Fix contact points debug for 3D Physics Setting each point's position was missing for 3D. Now enabling collision render debug will display contact points for 3D physics, the same way it does for 2D physics. Note: Multimesh rendering seems not to work in this scenario on master, but it's working fine on 3.2. (cherry picked from commit e5e9be8355e9dacdfcd167cc867054acc27903c7) --- scene/main/viewport.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 07efa4973d6..84e7e0a3579 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -416,6 +416,12 @@ void Viewport::_notification(int p_what) { int point_count = PhysicsServer::get_singleton()->space_get_contact_count(find_world()->get_space()); VS::get_singleton()->multimesh_set_visible_instances(contact_3d_debug_multimesh, point_count); + + for (int i = 0; i < point_count; i++) { + Transform point_transform; + point_transform.origin = points[i]; + VS::get_singleton()->multimesh_instance_set_transform(contact_3d_debug_multimesh, i, point_transform); + } } if (!GLOBAL_GET("physics/common/enable_pause_aware_picking")) {