/Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/NormalFlowRemesher.h
Remeshing with "face aligned projection". This approach to projection attempts to preserve sharp features in the mesh by aligning triangle normals with normals from the original mesh during the projection pass. This class also performs a pass of edge flips aimed at further aligning triangle normals to their originals. This can be helpful in fixing the occasional single "bad edge" along a sequence of feature edges.
class FNormalFlowRemesher : public [UE::Geometry::FQueueRemesher](API\Plugins\DynamicMesh\FQueueRemesher)
bool
bEnableParallelEdgeFlipPass
Gather candidates for edge flipping in parallel, then do the actual flips sequentially.
bool
bSmoothInFillAreas
Control whether or not we want to apply mesh smoothing in "free" areas that have not projected to target surface.
int
FaceProjectionPassesPerRemeshIteration
During each call to RemeshIteration, do this many passes of face-aligned projection.
float
FillAreaDistanceMultiplier
This is used as a multiplier on MaxEdgeLength to determine when we identify points as being in "free" areas.
float
FillAreaSmoothMultiplier
This is used as a multiplier on the Remesher smoothing rate, applied to points identified as being in "free" areas.
int
MaxTriangleCount
Cap on triangle count, to prevent runaway mesh messes. Ignored if zero.
double
NormalAlignmentSpeed
Drag on normal alignment
int
NumExtraProjectionIterations
Additional projection iterations after the usual remesh step.
TArray< FVector...
ProjectionVertexBuffer
Per triangle-vertex projection positions for face projection pass. (Size >= 3 * MaxTriangleID)
TArray< double ...
ProjectionWeightBuffer
Per triangle-vertex weights for face projection pass. (Size >= 3 * MaxTriangleID)
double
SurfaceProjectionSpeed
Drag on surface projection
TArray< double ...
TempWeightBuffer