IMeshUtilities

Windows
MacOS
Linux

Inheritance Hierarchy

IModuleInterface

IMeshUtilities

References

Module

MeshUtilities

Header

/Engine/Source/Developer/MeshUtilities/Public/MeshUtilities.h

Include

#include "MeshUtilities.h"

Syntax

class IMeshUtilities : public IModuleInterface

Functions

Name Description

Public function

void

 

BuildSkeletalAdjacencyIndexBuffer

(
    const TArray< struct FSoftSkinVerte...,
    const uint32 TexCoordCount,
    const TArray< uint32 >& Indices,
    TArray< uint32 >& OutPnAenIndices
)

Build adjacency information for the skeletal mesh used for tessellation.

Public function

bool

 

BuildSkeletalMesh

(
    FSkeletalMeshLODModel& LODModel,
    const FString& SkeletalMeshName,
    const FReferenceSkeleton& RefSkele...,
    const TArray< SkeletalMeshImportDat...,
    const TArray< SkeletalMeshImportDat...,
    const TArray< SkeletalMeshImportDat...,
    const TArray< FVector >& Points,
    const TArray< int32 >& PointToOrig...,
    const MeshBuildOptions& BuildOptio...,
    TArray< FText >* OutWarningMes...,
    TArray< FName >* OutWarningNam...
)

Create all render specific data for a skeletal mesh LOD model

Public function

bool

 

BuildStaticMesh

(
    FStaticMeshRenderData& OutRenderDa...,
    UStaticMesh* StaticMesh,
    const FStaticMeshLODGroup& LODGrou...
)

Builds a renderable static mesh using the provided source models and the LOD groups settings.

Public function

void

 

BuildStaticMeshVertexAndIndexBuffers

(
    TArray< FStaticMeshBuildVertex >& ...,
    TArray< TArray< uint32 > >& OutPer...,
    TArray< int32 >& OutWedgeMap,
    const FRawMesh& RawMesh,
    const FOverlappingCorners& Overlap...,
    const TMap< uint32, uint32 >& Mate...,
    float ComparisonThreshold,
    FVector BuildScale,
    int32 ImportVersion
)

Public function

void

 

CacheOptimizeIndexBuffer

(
    TArray< uint32 >& Indices
)

Cache optimize the index buffer.

Public function

void

 

CacheOptimizeIndexBuffer

(
    TArray< uint16 >& Indices
)

Cache optimize the index buffer.

Public function

void

 

CalcBoneVertInfos

(
    USkeletalMesh* SkeletalMesh,
    TArray< FBoneVertInfo >& Infos,
    bool bOnlyDominant
)

Calculate the verts associated weighted to each bone of the skeleton.

Public function Const

void

 

CalculateMikkTSpaceTangents

(
    const TArray< FVector >& InVertice...,
    const TArray< uint32 >& InIndices,
    const TArray< FVector2D >& InUVs,
    const TArray< FVector >& InNormals,
    bool bIgnoreDegenerateTriangles,
    TArray< FVector >& OutTangentX,
    TArray< FVector >& OutTangentY
)

Calculates MikkTSpace Tangents for a given set of vertex data with normals provided

Public function Const

void

 

CalculateNormals

(
    const TArray< FVector >& InVertice...,
    const TArray< uint32 >& InIndices,
    const TArray< FVector2D >& InUVs,
    const TArray< uint32 >& InSmoothin...,
    const uint32 InTangentOptions,
    TArray< FVector >& OutNormals
)

Calculates Normals for a given set of vertex data

Public function Const

void

 

CalculateOverlappingCorners

(
    const TArray< FVector >& InVertice...,
    const TArray< uint32 >& InIndices,
    bool bIgnoreDegenerateTriangles,
    FOverlappingCorners& OutOverlappin...
)

Calculates the overlapping corners for a given set of vertex data

Public function Const

void

 

CalculateTangents

(
    const TArray< FVector >& InVertice...,
    const TArray< uint32 >& InIndices,
    const TArray< FVector2D >& InUVs,
    const TArray< uint32 >& InSmoothin...,
    const uint32 InTangentOptions,
    TArray< FVector >& OutTangentX,
    TArray< FVector >& OutTangentY,
    TArray< FVector >& OutNormals
)

Calculates Tangents and Normals for a given set of vertex data

Public function Const

void

 

CalculateTextureCoordinateBoundsForSkeletalMesh

(
    const FSkeletalMeshLODModel& LODMo...,
    TArray< FBox2D >& OutBounds
)

Calculates UV coordinates bounds for the given Skeletal Mesh

Public function

void

 

CalculateTriangleTangent

(
    const FSoftSkinVertex& VertexA,
    const FSoftSkinVertex& VertexB,
    const FSoftSkinVertex& VertexC,
    TArray< FVector >& OutTangents,
    float CompareThreshold
)

Calculate The tangent, bi normal and normal for the triangle define by the tree SoftSkinVertex.

Public function

UStaticMesh ...

 

ConvertMeshesToStaticMesh

(
    const TArray< UMeshComponent* ...,
    const FTransform& InRootTransform,
    const FString& InPackageName
)

Convert a set of mesh components in their current pose to a static mesh.

Public function Const

void

 

CreateImportDataFromLODModel

(
    USkeletalMesh* SkeletalMesh
)

This function create the import data using the LODModel.

Public function

void

 

CreateProxyMesh

(
    const TArray< class AActor* > ...,
    const FMeshProxySettings& InMeshPr...,
    UPackage* InOuter,
    const FString& InProxyBasePackageN...,
    const FGuid InGuid,
    FCreateProxyDelegate InProxyCreated...,
    const bool bAllowAsync,
    const float ScreenAreaSize
)

Creates a (proxy)-mesh combining the static mesh components from the given list of actors (at the moment this requires having Simplygon)

Public function

void

 

DownSampleDistanceFieldVolumeData

(
    FDistanceFieldVolumeData& Distance...,
    float Divider
)

Down sample distance field volume.

Public function Const

void

 

FindOverlappingCorners

(
    FOverlappingCorners& OutOverlappin...,
    const TArray< FVector >& InVertice...,
    const TArray< uint32 >& InIndices,
    float ComparisonThreshold
)

Public function Const

void

 

FixupMaterialSlotNames

(
    USkeletalMesh* SkeletalMesh
)

Used to make sure all imported material slot name are unique and non empty.

Public function Const

void

 

FixupMaterialSlotNames

(
    UStaticMesh* StaticMesh
)

Used to make sure all imported material slot name are unique and non empty.

Public function Const

void

 

FlattenMaterialsWithMeshData

(
    TArray< UMaterialInterface* > ...,
    TArray< struct FRawMeshExt >& InSo...,
    TMap< FMeshIdAndLOD, TArray< int32 ...,
    TArray< bool >& InMeshShouldBakeVe...,
    const FMaterialProxySettings& InMa...,
    TArray< FFlattenMaterial >& OutFla...
)

FlattenMaterialsWithMeshData

Public function Const

void

 

GenerateRuntimeSkinWeightData

(
    const FSkeletalMeshLODModel* I...,
    const TArray< FRawSkinWeight >& In...,
    FRuntimeSkinWeightProfileData& InO...
)

Used to generate runtime skin weight data from Editor-only data

Public function

void

 

GenerateSignedDistanceFieldVolumeData

(
    FString MeshName,
    const FStaticMeshLODResources& LOD...,
    FQueuedThreadPool& ThreadPool,
    const TArray< EBlendMode >& Materi...,
    const FBoxSphereBounds& Bounds,
    float DistanceFieldResolutionScale,
    bool bGenerateAsIfTwoSided,
    FDistanceFieldVolumeData& OutData
)

Builds a signed distance field volume for the given LODModel.

Public function

bool

 

GenerateStaticMeshLODs

(
    UStaticMesh* StaticMesh,
    const FStaticMeshLODGroup& LODGrou...
)

Builds a static mesh using the provided source models and the LOD groups settings, and replaces the RawMeshes with the reduced meshes.

Public function Const

bool

 

GenerateUniqueUVsForSkeletalMesh

(
    const FSkeletalMeshLODModel& LODMo...,
    int32 TextureResolution,
    TArray< FVector2D >& OutTexCoords
)

Calculates (new) non-overlapping UV coordinates for the given Skeletal Mesh

Public function Const

bool

 

GenerateUniqueUVsForStaticMesh

(
    const FRawMesh& RawMesh,
    int32 TextureResolution,
    TArray< FVector2D >& OutTexCoords
)

Calculates (new) non-overlapping UV coordinates for the given Raw Mesh

Public function Const

bool

 

GenerateUniqueUVsForStaticMesh

(
    const FRawMesh& RawMesh,
    int32 TextureResolution,
    bool bMergeIdenticalMaterials,
    TArray< FVector2D >& OutTexCoords
)

Public function

IMeshMerging...

 

GetMeshMergingInterface()

Returns the mesh merging plugin if available.

Public function

IMeshReducti...

 

GetSkeletalMeshReductionInterface()

Returns the mesh reduction plugin if available.

Public function

IMeshReducti...

 

GetStaticMeshReductionInterface()

Returns the mesh reduction plugin if available.

Public function Const

const FStrin...

 

GetVersionString()

Returns a string uniquely identifying this version of mesh utilities.

Public function Const

void

 

MergeActors

(
    const TArray< AActor* >& Sour...,
    const FMeshMergingSettings& InSett...,
    UPackage* InOuter,
    const FString& InBasePackageName,
    TArray< UObject* >& OutAssets...,
    FVector& OutMergedActorLocation,
    bool bSilent
)

DEPRECATED FUNCTIONALITY Harvest static mesh components from input actors and merge into signle mesh grouping them by unique materials

Public function Const

void

 

MergeStaticMeshComponents

(
    const TArray< UStaticMeshComponent ...,
    UWorld* World,
    const FMeshMergingSettings& InSett...,
    UPackage* InOuter,
    const FString& InBasePackageName,
    TArray< UObject* >& OutAssets...,
    FVector& OutMergedActorLocation,
    const float ScreenAreaSize,
    bool bSilent
)

MergeStaticMeshComponents

Public function Const

void

 

RecomputeTangentsAndNormalsForRawMesh

(
    bool bRecomputeTangents,
    bool bRecomputeNormals,
    const FMeshBuildSettings& InBuildS...,
    FRawMesh& OutRawMesh
)

Public function Const

void

 

RecomputeTangentsAndNormalsForRawMesh

(
    bool bRecomputeTangents,
    bool bRecomputeNormals,
    const FMeshBuildSettings& InBuildS...,
    const FOverlappingCorners& InOverl...,
    FRawMesh& OutRawMesh
)

Public function Const

bool

 

RemoveBonesFromMesh

(
    USkeletalMesh* SkeletalMesh,
    int32 LODIndex,
    const TArray< FName >* BoneNam...
)

Remove Bones based on LODInfo setting

Classes

Name

Description

Public struct

MeshBuildOptions

Helper structure for skeletal mesh import options

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss