repair_mesh_self_intersections
Repair a DynamicMeshActor by boolean self-unioning its mesh to remove self-intersections, internal or floating geometry, and non-manifold overlaps.
Instructions
Boolean-union a DynamicMeshActor's dynamic mesh with itself to repair self-intersections, remove internal/floating geometry and resolve non-manifold overlaps (UGeometryScriptLibrary_MeshBooleanFunctions::ApplyMeshSelfUnion). Convergent: the first pass mutates the mesh, but a second pass on the already-cleaned mesh is a no-op (repaired reports false). NOTE: the engine impl ignores its internal success flag and always returns the target mesh, so success is measured by comparing the triangle count, not by the return value.
Returns: { actor_name: string, triangle_count: int, triangle_count_before: int, vertex_count: int, is_closed: bool, repaired: bool }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actor_name | Yes | Label or name of the target DynamicMeshActor (mutated in place) | |
| fill_holes | No | Optional bool override for FGeometryScriptMeshSelfUnionOptions.bFillHoles (default true) | |
| trim_flaps | No | Optional bool override for FGeometryScriptMeshSelfUnionOptions.bTrimFlaps (default true) | |
| simplify_output | No | Optional bool override for FGeometryScriptMeshSelfUnionOptions.bSimplifyOutput (default true) | |
| winding_threshold | No | Optional [0..1] float override for FGeometryScriptMeshSelfUnionOptions.WindingThreshold (default 0.5). Space with generalised winding number above this is considered inside. |