瀏覽代碼

Fix separation ray normal direction

Ricardo Buring 2 年之前
父節點
當前提交
ed54f4dce8
共有 1 個文件被更改,包括 2 次插入3 次删除
  1. 2 3
      servers/physics_3d/godot_collision_solver_3d.cpp

+ 2 - 3
servers/physics_3d/godot_collision_solver_3d.cpp

@@ -127,11 +127,10 @@ bool GodotCollisionSolver3D::solve_separation_ray(const GodotShape3D *p_shape_A,
 	}
 	}
 
 
 	if (p_result_callback) {
 	if (p_result_callback) {
+		Vector3 normal = (support_B - support_A).normalized();
 		if (p_swap_result) {
 		if (p_swap_result) {
-			Vector3 normal = (support_B - support_A).normalized();
-			p_result_callback(support_B, 0, support_A, 0, normal, p_userdata);
+			p_result_callback(support_B, 0, support_A, 0, -normal, p_userdata);
 		} else {
 		} else {
-			Vector3 normal = (support_A - support_B).normalized();
 			p_result_callback(support_A, 0, support_B, 0, normal, p_userdata);
 			p_result_callback(support_A, 0, support_B, 0, normal, p_userdata);
 		}
 		}
 	}
 	}