![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <MeshApproximationSettings.h>
Public Member Functions | |
| UPROPERTY (BlueprintReadWrite, EditAnywhere, Category=ShapeSettings, meta=(DisplayName="Approximation Accuracy (meters)", ClampMin="0.001")) float ApproximationAccuracy | |
| UPROPERTY (BlueprintReadWrite, EditAnywhere, Category=ShapeSettings, meta=(DisplayName="Gap Filling Distance (meters)", ClampMin="0.001", EditCondition="bFillGaps")) float GapDistance=0.1f | |
| UPROPERTY (BlueprintReadWrite, EditAnywhere, Category=SimplifySettings, meta=(DisplayName="Geometric Deviation (meters)", ClampMin="0.0001", EditCondition="SimplifyMethod == EMeshApproximationSimplificationPolicy::GeometricTolerance")) float GeometricDeviation=0.1f | |
| ENGINE_API bool | operator== (const FMeshApproximationSettings &Other) const |
| ENGINE_API bool | operator!= (const FMeshApproximationSettings &Other) const |
| bool FMeshApproximationSettings::operator!= | ( | const FMeshApproximationSettings & | Other | ) | const |
Inequality.
| bool FMeshApproximationSettings::operator== | ( | const FMeshApproximationSettings & | Other | ) | const |
Equality operator.
| FMeshApproximationSettings::UPROPERTY | ( | BlueprintReadWrite | , |
| EditAnywhere | , | ||
| Category | = ShapeSettings, |
||
| meta | = (DisplayName="Approximation Accuracy (meters)", ClampMin="0.001") |
||
| ) |
Approximation Accuracy in Meters, will determine (eg) voxel resolution
|
pure virtual |
Distance in Meters to expand/contract to fill gaps
|
pure virtual |
Allowable Geometric Deviation in Meters when SimplifyMethod incorporates a Geometric Tolerance
Whether to allow distance field to be computed for this mesh. Disable this to save memory if the generated mesh will only be rendered in the distance.
| EMeshApproximationBaseCappingType FMeshApproximationSettings::BaseCapping = EMeshApproximationBaseCappingType::NoBaseCapping |
Optional methods to attempt to close off the bottom of open meshes
if enabled, we will attempt to auto-thicken thin parts or flat sheets
If true, write the full mesh triangle set (ie flattened, non-instanced) used for mesh generation. Warning: this asset may be extremely large!!
If false, texture capture and baking will be done serially after mesh generation, rather than in parallel when possible. This will reduce the maximum memory requirements of the process.
If true, a faster mesh simplfication strategy will be used. This can significantly reduce computation time and memory usage, but potentially at the cost of lower quality output.
If true, normal angle will be used to estimate hard normals
If true, topological expand/contract is used to try to fill small gaps between objects.
Whether to generate a nanite-enabled mesh
If enabled, tiny parts will be excluded from the mesh merging, which can improve performance
If true, then the OcclusionMethod computation is configured to try to consider downward-facing "bottom" geometry as occluded
Whether ray tracing will be supported on this mesh. Disable this to save memory if the generated mesh will only be rendered in the distance.
If true, LOD0 Render Meshes (or Nanite Fallback meshes) are used instead of Source Mesh data. This can significantly reduce computation time and memory usage, but potentially at the cost of lower quality output.
| float FMeshApproximationSettings::CaptureFieldOfView = 30.0f |
| int32 FMeshApproximationSettings::ClampVoxelDimension = 1024 |
Maximum allowable voxel count along main directions. This is a limit on ApproximationAccuracy. Max of 1290 (1290^3 is the last integer < 2^31, using a bigger number results in failures in TArray code & probably elsewhere)
| float FMeshApproximationSettings::CurvatureAlignment = 1.0f |
This parameter controls alignment of the initial patches to creases in the mesh
| EMeshApproximationGroundPlaneClippingPolicy FMeshApproximationSettings::GroundClipping = EMeshApproximationGroundPlaneClippingPolicy::NoGroundClipping |
Configure how the final mesh should be clipped with a ground plane, if desired
| float FMeshApproximationSettings::GroundClippingZHeight = 0.0f |
Z-Height for the ground clipping plane, if enabled
| float FMeshApproximationSettings::HardNormalAngle = 60.0f |
| int FMeshApproximationSettings::InitialPatchCount = 250 |
Number of initial patches mesh will be split into before computing island merging
| FMaterialProxySettings FMeshApproximationSettings::MaterialSettings |
Material generation settings
| float FMeshApproximationSettings::MaxAngleDeviation = 45.0f |
UV islands will not be merged if their average face normals deviate by larger than this amount
| float FMeshApproximationSettings::MergingThreshold = 1.5f |
Distortion/Stretching Threshold for island merging - larger values increase the allowable UV stretching
| int32 FMeshApproximationSettings::MultiSamplingAA = 0 |
If Value is > 1, Multisample output baked textures by this amount in each direction (eg 4 == 16x supersampling)
| float FMeshApproximationSettings::NaniteFallbackPercentTriangles = 1.0f |
Percentage of triangles to keep from source Nanite mesh for fallback. 1.0 = no reduction, 0.0 = no triangles.
| float FMeshApproximationSettings::NaniteFallbackRelativeError = 1.0f |
Reduce Nanite fallback mesh until at least this amount of error is reached relative to size of the mesh.
| ENaniteFallbackTarget FMeshApproximationSettings::NaniteFallbackTarget = ENaniteFallbackTarget::Auto |
Which heuristic to use when generating the Nanite fallback mesh.
| float FMeshApproximationSettings::NearPlaneDist = 1.0f |
| EOccludedGeometryFilteringPolicy FMeshApproximationSettings::OcclusionMethod = EOccludedGeometryFilteringPolicy::VisibilityBasedFiltering |
Type of hidden geometry removal to apply
| EMeshApproximationType FMeshApproximationSettings::OutputType = EMeshApproximationType::MeshAndMaterials |
Type of output from mesh approximation process
| int32 FMeshApproximationSettings::RenderCaptureResolution = 2048 |
If Value is zero, use MaterialSettings resolution, otherwise override the render capture resolution
| EMeshApproximationSimplificationPolicy FMeshApproximationSettings::SimplifyMethod = EMeshApproximationSimplificationPolicy::GeometricTolerance |
Mesh Simplification criteria
| float FMeshApproximationSettings::TargetMinThicknessMultiplier = 1.5f |
Multiplier on Approximation Accuracy used for auto-thickening
| int32 FMeshApproximationSettings::TargetTriCount = 2000 |
Target triangle count for Mesh Simplification, for SimplifyMethods that use a Count
| float FMeshApproximationSettings::TinyPartSizeMultiplier = 0.05f |
Multiplier on Approximation Accuracy used to define tiny-part threshold, using maximum bounding-box dimension
| float FMeshApproximationSettings::TrianglesPerM = 2.0f |
Approximate Number of triangles per Square Meter, for SimplifyMethods that use such a constraint
| EMeshApproximationUVGenerationPolicy FMeshApproximationSettings::UVGenerationMethod = EMeshApproximationUVGenerationPolicy::PreferXAtlas |
| float FMeshApproximationSettings::WindingThreshold = 0.5f |
Winding Threshold controls hole filling at open mesh borders. Smaller value means "more/rounder" filling