summaryrefslogtreecommitdiffstats
path: root/doc/classes
diff options
context:
space:
mode:
authorsmix8 <52464204+smix8@users.noreply.github.com>2023-01-26 16:10:26 +0100
committersmix8 <52464204+smix8@users.noreply.github.com>2023-04-07 22:39:25 +0200
commit1549aeaef8d16d6dd6b1f27380bf00ca23e1001d (patch)
tree22ece2afee381e797746b3dd8a4934e7c0716c20 /doc/classes
parentf38b54027308529b7dbc243d1c70e7e5e69473a6 (diff)
downloadredot-engine-1549aeaef8d16d6dd6b1f27380bf00ca23e1001d.tar.gz
Add Mesh ConvexDecompositionSettings wrapper
Adds wrapper MeshConvexDecompositionSettings to control parameters for Mesh ConvexDecomposition operations.
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/MeshConvexDecompositionSettings.xml60
-rw-r--r--doc/classes/MeshInstance3D.xml3
2 files changed, 62 insertions, 1 deletions
diff --git a/doc/classes/MeshConvexDecompositionSettings.xml b/doc/classes/MeshConvexDecompositionSettings.xml
new file mode 100644
index 0000000000..a2784c4485
--- /dev/null
+++ b/doc/classes/MeshConvexDecompositionSettings.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MeshConvexDecompositionSettings" inherits="RefCounted" version="4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ Parameters to be used with a [Mesh] convex decomposition operation.
+ </brief_description>
+ <description>
+ Parameters to be used with a [Mesh] convex decomposition operation.
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="convex_hull_approximation" type="bool" setter="set_convex_hull_approximation" getter="get_convex_hull_approximation" default="true">
+ If enabled uses approximation for computing convex hulls.
+ </member>
+ <member name="convex_hull_downsampling" type="int" setter="set_convex_hull_downsampling" getter="get_convex_hull_downsampling" default="4">
+ Controls the precision of the convex-hull generation process during the clipping plane selection stage. Ranges from [code]1[/code] to [code]16[/code].
+ </member>
+ <member name="max_concavity" type="float" setter="set_max_concavity" getter="get_max_concavity" default="1.0">
+ Maximum concavity. Ranges from [code]0.0[/code] to [code]1.0[/code].
+ </member>
+ <member name="max_convex_hulls" type="int" setter="set_max_convex_hulls" getter="get_max_convex_hulls" default="1">
+ The maximum number of convex hulls to produce from the merge operation.
+ </member>
+ <member name="max_num_vertices_per_convex_hull" type="int" setter="set_max_num_vertices_per_convex_hull" getter="get_max_num_vertices_per_convex_hull" default="32">
+ Controls the maximum number of triangles per convex-hull. Ranges from [code]4[/code] to [code]1024[/code].
+ </member>
+ <member name="min_volume_per_convex_hull" type="float" setter="set_min_volume_per_convex_hull" getter="get_min_volume_per_convex_hull" default="0.0001">
+ Controls the adaptive sampling of the generated convex-hulls. Ranges from [code]0.0[/code] to [code]0.01[/code].
+ </member>
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="MeshConvexDecompositionSettings.Mode" default="0">
+ Mode for the approximate convex decomposition.
+ </member>
+ <member name="normalize_mesh" type="bool" setter="set_normalize_mesh" getter="get_normalize_mesh" default="false">
+ If enabled normalizes the mesh before applying the convex decomposition.
+ </member>
+ <member name="plane_downsampling" type="int" setter="set_plane_downsampling" getter="get_plane_downsampling" default="4">
+ Controls the granularity of the search for the "best" clipping plane. Ranges from [code]1[/code] to [code]16[/code].
+ </member>
+ <member name="project_hull_vertices" type="bool" setter="set_project_hull_vertices" getter="get_project_hull_vertices" default="true">
+ If enabled projects output convex hull vertices onto original source mesh to increase floating point accuracy of the results.
+ </member>
+ <member name="resolution" type="int" setter="set_resolution" getter="get_resolution" default="10000">
+ Maximum number of voxels generated during the voxelization stage.
+ </member>
+ <member name="revolution_axes_clipping_bias" type="float" setter="set_revolution_axes_clipping_bias" getter="get_revolution_axes_clipping_bias" default="0.05">
+ Controls the bias toward clipping along revolution axes. Ranges from [code]0.0[/code] to [code]1.0[/code].
+ </member>
+ <member name="symmetry_planes_clipping_bias" type="float" setter="set_symmetry_planes_clipping_bias" getter="get_symmetry_planes_clipping_bias" default="0.05">
+ Controls the bias toward clipping along symmetry planes. Ranges from [code]0.0[/code] to [code]1.0[/code].
+ </member>
+ </members>
+ <constants>
+ <constant name="CONVEX_DECOMPOSITION_MODE_VOXEL" value="0" enum="Mode">
+ Constant for voxel-based approximate convex decomposition.
+ </constant>
+ <constant name="CONVEX_DECOMPOSITION_MODE_TETRAHEDRON" value="1" enum="Mode">
+ Constant for tetrahedron-based approximate convex decomposition.
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/MeshInstance3D.xml b/doc/classes/MeshInstance3D.xml
index 187f2510c5..fb6702263e 100644
--- a/doc/classes/MeshInstance3D.xml
+++ b/doc/classes/MeshInstance3D.xml
@@ -31,8 +31,9 @@
</method>
<method name="create_multiple_convex_collisions">
<return type="void" />
+ <param index="0" name="settings" type="MeshConvexDecompositionSettings" default="null" />
<description>
- This helper creates a [StaticBody3D] child node with multiple [ConvexPolygonShape3D] collision shapes calculated from the mesh geometry via convex decomposition. It's mainly used for testing.
+ This helper creates a [StaticBody3D] child node with multiple [ConvexPolygonShape3D] collision shapes calculated from the mesh geometry via convex decomposition. The convex decomposition operation can be controlled with parameters from the optional [param settings].
</description>
</method>
<method name="create_trimesh_collision">