summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2021-08-30 11:30:55 -0300
committerGitHub <noreply@github.com>2021-08-30 11:30:55 -0300
commitefc87481e45c66b3a18dfe1db82c3289fe2a370d (patch)
tree8f99a2b6042fadf8afde25f0e41c9a69d9651270 /modules
parentb60a51f0232246be0c8a0544253336e34d346724 (diff)
parent6dab6e4136540152558eff0085de1acdea143fd9 (diff)
Merge pull request #52254 from godotengine/revert-51985-coll
Revert " Improve collision generation usability in the new 3D scene import workflow."
Diffstat (limited to 'modules')
-rw-r--r--modules/vhacd/register_types.cpp23
1 files changed, 6 insertions, 17 deletions
diff --git a/modules/vhacd/register_types.cpp b/modules/vhacd/register_types.cpp
index 88b2a568ea..2b48e94604 100644
--- a/modules/vhacd/register_types.cpp
+++ b/modules/vhacd/register_types.cpp
@@ -32,23 +32,7 @@
#include "scene/resources/mesh.h"
#include "thirdparty/vhacd/public/VHACD.h"
-static Vector<Vector<Face3>> convex_decompose(const Vector<Face3> &p_faces, const Mesh::ConvexDecompositionSettings &p_settings) {
- VHACD::IVHACD::Parameters params;
- params.m_concavity = p_settings.max_concavity;
- params.m_alpha = p_settings.symmetry_planes_clipping_bias;
- params.m_beta = p_settings.revolution_axes_clipping_bias;
- params.m_minVolumePerCH = p_settings.min_volume_per_convex_hull;
- params.m_resolution = p_settings.resolution;
- params.m_maxNumVerticesPerCH = p_settings.max_num_vertices_per_convex_hull;
- params.m_planeDownsampling = p_settings.plane_downsampling;
- params.m_convexhullDownsampling = p_settings.convexhull_downsampling;
- params.m_pca = p_settings.normalize_mesh;
- params.m_mode = p_settings.mode;
- params.m_convexhullApproximation = p_settings.convexhull_approximation;
- params.m_oclAcceleration = true;
- params.m_maxConvexHulls = p_settings.max_convex_hulls;
- params.m_projectHullVertices = p_settings.project_hull_vertices;
-
+static Vector<Vector<Face3>> convex_decompose(const Vector<Face3> &p_faces, int p_max_convex_hulls = -1) {
Vector<real_t> vertices;
vertices.resize(p_faces.size() * 9);
Vector<uint32_t> indices;
@@ -63,6 +47,11 @@ static Vector<Vector<Face3>> convex_decompose(const Vector<Face3> &p_faces, cons
}
}
+ VHACD::IVHACD::Parameters params;
+ if (p_max_convex_hulls > 0) {
+ params.m_maxConvexHulls = p_max_convex_hulls;
+ }
+
VHACD::IVHACD *decomposer = VHACD::CreateVHACD();
decomposer->Compute(vertices.ptr(), vertices.size() / 3, indices.ptr(), indices.size() / 3, params);