Parameterization

Choose your operating system:

Windows

macOS

Linux

Classes

Name

Description

Public class

FDynamicMeshUVEditor

FDynamicMeshUVEditor implements various UV overlay editing operations.

Public class

FDynamicMeshUVPacker

FDynamicMeshUVPacker implements various strategies for packing UV islands in a UV Overlay.

Public class

FMeshRegionGraph

FMeshRegionGraph represents neighbourhood relationships between mesh patches.

Public class

FPatchBasedMeshUVGenerator

FPatchBasedMeshUVGenerator is an automatic UV generator for a triangle mesh that, generally, works by first decomposing the mesh into small patches for which a "known good" parameterization can be computed, and then incrementally merging those patches into larger ones to create final UV islands.

Public struct

FUVEditResult

Enums

Functions

Name Description

Public function

bool

 

UE::Geometry::UVUnwrapMeshUtil::DoesUnwrapMatchOverlay

(
    const FDynamicMeshUVOverlay& Overl...,
    const FDynamicMesh3& UnwrapMeshIn,
    TFunctionRef< FVector3d...,
    double Tolerance
)

Checks that the vertices in the unwrap correspond to elements in the overlay in both ID and value, and that set triangles in the overlay correspond to triangles in the unwrap.

Public function

void

 

UE::Geometry::UVUnwrapMeshUtil::GenerateUVUnwrapMesh

(
    const FDynamicMeshUVOverlay& UVOve...,
    FDynamicMesh3& UnwrapMeshOut,
    TFunctionRef< FVector3d...
)

Given a UV overlay, generate a mesh out of the overlay using the given UV to 3d position function.

Public function

void

 

UE::Geometry::UVUnwrapMeshUtil::UpdateOverlayFromOverlay

(
    const FDynamicMeshUVOverlay& Overl...,
    FDynamicMeshUVOverlay& OverlayOut,
    bool bParentVertsIdentical,
    const TArray< int32 >* Changed...,
    const TArray< int32 >* Changed...
)

Given two overlays that have the same triangle IDs, copy all or part of one overlay into another.

Public function

void

 

UE::Geometry::UVUnwrapMeshUtil::UpdateUVOverlayFromUnwrapMesh

(
    const FDynamicMesh3& UnwrapMeshIn,
    FDynamicMeshUVOverlay& UVOverlayOu...,
    TFunctionRef< FVector2f...,
    const TArray< int32 >* Changed...,
    const TArray< int32 >* Changed...
)

Given a mesh that corresponds to an overlay with an exact mapping of triangle IDs and element IDs to vertex IDs (i.e. one generated by GenerateUVUnwrapMesh), update the element values and connectivity of the overlay.

Public function

void

 

UE::Geometry::UVUnwrapMeshUtil::UpdateUVUnwrapMesh

(
    const FDynamicMesh3& SourceUnwrapM...,
    FDynamicMesh3& DestUnwrapMesh,
    const TArray< int32 >* Changed...,
    const TArray< int32 >* Changed...
)

Given a copy of a UV Unwrap mesh whose positions and connectivity have been updated, update the destination unwrap mesh.

Public function

void

 

UE::Geometry::UVUnwrapMeshUtil::UpdateUVUnwrapMesh

(
    const FDynamicMeshUVOverlay& UVOve...,
    FDynamicMesh3& UnwrapMeshOut,
    TFunctionRef< FVector3d...,
    const TArray< int32 >* Changed...,
    const TArray< int32 >* Changed...
)

Given a mesh that corresponds to an overlay with an exact mapping of triangle IDs and element IDs to vertex IDs (i.e. one generated by GenerateUVUnwrapMesh), update the vertex locations and triangle connectivity of the mesh.

Public function

void

 

UE::MeshUVTransforms::FitToBox

(
    FDynamicMeshUVOverlay* UVOverl...,
    const FAxisAlignedBox2d& Box,
    bool bUniformScale
)

Fit all UV element IDs of the UV Overlay inside the specified Box.

Public function

void

 

UE::MeshUVTransforms::FitToBox

(
    FDynamicMeshUVOverlay* UVOverl...,
    const TArray< int32 >& UVElementID...,
    const FAxisAlignedBox2d& Box,
    bool bUniformScale
)

Fit given UV element IDs inside the specified Box.

Public function

void

 

UE::MeshUVTransforms::MakeSeamsDisjoint

(
    FDynamicMeshUVOverlay* UVOverl...
)

For all UV seam elements, apply a small displacement so that they have unique positions.

Public function

void

 

UE::MeshUVTransforms::RecenterScale

(
    FDynamicMeshUVOverlay* UVOverl...,
    const TArray< int32 >& UVElementID...,
    EIslandPositionType NewPosition,
    double UVScale
)

Recenter given UV element IDs using given IslandPositionType strategy (based on centroid, bounding-box, etc) and then apply uniform scaling