Choose your operating system:
Windows
macOS
Linux
Defeaturing is a method of simplifying a mesh by removing protrusions and holes. This can increase rendering performance by decreasing the number of vertices and triangles the mesh contains.
Defeaturing can be particularly useful for geometry that comes from computer-aided design (CAD) applications. When parts and assemblies are designed and modeled for the purpose of physical manufacturing, they are often created with small features that are essential for the real-world objects being manufactured, but not necessary for real-time rendering.
For example, this part from a fuel pump assembly contains 20,000 triangles. Removing some of the holes cuts that number almost in half. In this case, other parts in the assembly cover the modified areas, so the rendered result does not change noticeably when seen in context.
In addition, if you plan to create Levels of Detail (LODs) to further simplify your mesh when it takes up less screen space, creating the LODs from a defeatured mesh can help to make the mesh simplification less apparent. For example, with this small part from a crankshaft assembly, the small holes look very jagged when seen at less-detailed LOD levels. By defeaturing to remove the small holes before creating the LODs, the mesh looks far cleaner when seen at smaller sizes.
The Unreal Editor offers the ability to defeature any Static Mesh Asset that you've imported from Datasmith or FBX.
Removable Features
The following sections describe the types of features that the defeaturing tools can remove, and the measurements that you can supply to control the size of the features you want to remove.
Through Holes
Through holes are holes in a surface that pass entirely through an object and out the other side.
You can limit the size of the through holes you want to remove by specifying their maximum diameter.
Blind Holes
Blind holes are holes in a surface that do not completely pass through the object. Instead, they have a bottom that is located at a certain depth from the surface.
You can limit the size of the blind holes you want to remove by specifying the maximum diameter of the hole, and the maximum depth of the hole below the surface. Only holes that are smaller in both dimensions will be removed.
Protrusions
Protrusions are bumps that rise up above the surrounding surface.
You can limit the size of the protrusions you want to remove by specifying the maximum diameter of the protrusion, and the maximum height of the bump above the surface. Only protrusions that are smaller in both dimensions will be removed.
Project Setup
In order to use Defeaturing, you must enable the Polygon Editing Plugin for your Project.
If you start from one of the Template Projects in the Architecture, Engineering, and Construction category, this Plugin may be enabled for you by default.
The Polygon Editing plugin is only supported on 64-bit Windows. In addition, Defeaturing is only available in pre-built binary distributions of Unreal Engine that you install through the Epic Games Launcher.
Defeaturing in the Static Mesh Editor
-
Open the Static Mesh that you want to modify in the Static Mesh Editor.
You can double-click the Asset in the Content Browser , or right-click it and choose Edit . -
Open the Mesh Editing Toolbar.
-
Click the Defeaturing icon.
-
You'll see a settings dialog, where you can configure the features you want to remove:
For each type of feature that you want to remove from your Static Mesh, check the corresponding option and set the maximum dimensions for that type of feature.Make sure to increase the maximum dimensions for each type of feature you select from their default values.
-
Click Proceed to launch the defeaturing operation and modify the Static Mesh.
Defeaturing in Editor Scripts
You can remove through holes, blind holes, and protrusions in Blueprints and in Python.
Prerequisite: If you haven't already done so, you'll need to install the Editor Scripting Utilities Plugin . For details, see Scripting and Automating the Editor .
Choose your implementation method:
Python