ModelingComponents

Choose your operating system:

Windows

macOS

Linux

Filters

Classes

Name

Description

Public class UClass

APreviewMeshActor

UPreviewMesh internally spawns a APreviewMeshActor to hold the preview mesh object.

Public struct UStruct blueprintable

FCreateMeshObjectParams

FCreateMeshObjectParams is a collection of input data intended to be passed to UModelingObjectsCreationAPI::CreateMeshObject().

Public struct UStruct BlueprintType

FCreateMeshObjectResult

FCreateMeshObjectResult is returned by UModelingObjectsCreationAPI::CreateMeshObject() to indicate success/failure and provide information about created mesh objects

Public struct UStruct blueprintable

FCreateTextureObjectParams

FCreateTextureObjectParams is a collection of input data intended to be passed to UModelingObjectsCreationAPI::CreateTextureObject().

Public struct UStruct BlueprintType

FCreateTextureObjectResult

FCreateTextureObjectResult is returned by UModelingObjectsCreationAPI::CreateTextureObject() to indicate success/failure and provide information about created texture objects

Public struct

FDynamicMeshOpResult

FDynamicMeshOpResult is a container for a computed Mesh and Transform

Public struct

FFindSceneSnapPointParams

Public class

FModelingComponentsModule

Public struct

FSnapGeometry

FSnapGeometry stores information about geometry data of a snap, which we might use for highlights/etc

Public class

IToolActivityHost

Public class

TGenericDataBackgroundCompute

TGenericDataBackgroundCompute is an infrastructure object that implements a common UI pattern in interactive 3D tools, where we want to run an expensive parameterized computation (via a TGenericDataOperator) in a background thread so as to not block the UI.

Public class UClass

UInteractiveToolActivity

A tool activity is a sort of "sub-tool" used to break apart functionality in tools that provide support for different multi-interaction subtasks.

Public class UClass Transient

UMeshOpPreviewWithBackgroundCompute

UMeshOpPreviewWithBackgroundCompute is an infrastructure object that implements a common UI pattern in interactive 3D tools, where we want to run an expensive computation on a mesh that is based on user-specified parameters, and show a preview of the result.

Public class UClass Config

UModelingComponentsSettings

Settings for the Modeling Components plug-in.

Public class UClass Abstract BlueprintType

UModelingObjectsCreationAPI

UModelingObjectsCreationAPI is a base interface for functions that can be used to create various types of objects from Modeling Tools, or other sources.

Public class UClass Transient

UPreviewMesh

UPreviewMesh is a utility object that spawns and owns a transient mesh object in the World.

Public class

UToolActivityHost

Typedefs

Name

Description

FBackgroundDynamicMeshComputeSource

FBackgroundDynamicMeshComputeSource is an instantiation of the TBackgroundModelingComputeSource template for FDynamicMeshOperator / IDynamicMeshOperatorFactory

Enums

Name

Description

Public enum UEnum BlueprintType

ECreateMeshObjectSourceMeshType

Types of possible source meshes stored in FCreateMeshObjectParams

Public enum UEnum BlueprintType

ECreateModelingObjectResult

Result code returned by UModelingObjectsCreationAPI functions

Public enum UEnum BlueprintType

ECreateObjectTypeHint

Hint for the type of mesh object a UModelingObjectsCreationAPI might create based on FCreateMeshObjectParams data.

Public enum

EToolActivityEndResult

Public enum

EToolActivityStartResult

Public enum

ToolSetupUtil::ImageMaterialType

Types of image-based material that we can create

Public enum

UE::ToolTarget::EDynamicMeshUpdateResult

EDynamicMeshUpdateResult is returned by functions below that update a ToolTarget with a new Mesh

Functions

Name Description

Public function

double

 

ToolSceneQueriesUtil::CalculateDimensionFromVisualAngleD

(
    const FViewCameraState& CameraStat...,
    const FVector3d& Point,
    double TargetVisualAngleDeg
)

Public function

double

 

ToolSceneQueriesUtil::CalculateDimensionFromVisualAngleD

(
    const UInteractiveTool* Tool,
    const FVector3d& Point,
    double TargetVisualAngleDeg
)

Public function

double

 

ToolSceneQueriesUtil::CalculateNormalizedViewVisualAngleD

(
    const FViewCameraState& CameraStat...,
    const FVector3d& Point1,
    const FVector3d& Point2
)

Public function

double

 

ToolSceneQueriesUtil::CalculateViewVisualAngleD

(
    const FViewCameraState& CameraStat...,
    const FVector3d& Point1,
    const FVector3d& Point2
)

Public function

double

 

ToolSceneQueriesUtil::CalculateViewVisualAngleD

(
    const UInteractiveTool* Tool,
    const FVector3d& Point1,
    const FVector3d& Point2
)

Public function

bool

 

ToolSceneQueriesUtil::FindNearestVisibleObjectHit

(
    const UInteractiveTool* Tool,
    FHitResult& HitResultOut,
    const FRay& Ray,
    const TArray< const UPrimitiveCompo...,
    const TArray< const UPrimitiveCompo...
)

Find the nearest object hit by the LineTrace from Start to End that is currently visible (provides correct result in Editor)

Public function

bool

 

ToolSceneQueriesUtil::FindNearestVisibleObjectHit

(
    UWorld* World,
    FHitResult& HitResultOut,
    const FVector& Start,
    const FVector& End,
    const TArray< const UPrimitiveCompo...,
    const TArray< const UPrimitiveCompo...
)

Find the nearest object hit by the LineTrace from Start to End that is currently visible (provides correct result in Editor)

Public function

bool

 

ToolSceneQueriesUtil::FindNearestVisibleObjectHit

(
    const UInteractiveTool* Tool,
    FHitResult& HitResultOut,
    const FVector& Start,
    const FVector& End,
    const TArray< const UPrimitiveCompo...,
    const TArray< const UPrimitiveCompo...
)

Find the nearest object hit by the LineTrace from Start to End that is currently visible (provides correct result in Editor)

Public function

bool

 

ToolSceneQueriesUtil::FindNearestVisibleObjectHit

(
    UWorld* World,
    FHitResult& HitResultOut,
    const FRay& Ray,
    const TArray< const UPrimitiveCompo...,
    const TArray< const UPrimitiveCompo...
)

Find the nearest object hit by the LineTrace from Start to End that is currently visible (provides correct result in Editor)

Public function

bool

 

ToolSceneQueriesUtil::FindNearestVisibleObjectHit

(
    USceneSnappingManager* Snappin...,
    FHitResult& HitResultOut,
    const FRay& Ray,
    const TArray< const UPrimitiveCompo...,
    const TArray< const UPrimitiveCompo...
)

Find the nearest object hit by the LineTrace from Start to End that is currently visible (provides correct result in Editor)

Public function

bool

 

ToolSceneQueriesUtil::FindSceneSnapPoint

(
    const UInteractiveTool* Tool,
    const FVector3d& Point,
    FVector3d& SnapPointOut,
    bool bVertices,
    bool bEdges,
    double VisualAngleThreshold,
    FSnapGeometry* SnapGeometry,
    FVector* DebugTriangleOut
)

Run a query against the scene to find the best SnapPointOut for the given Point

Public function

bool

 

ToolSceneQueriesUtil::FindSceneSnapPoint

(
    FFindSceneSnapPointParams& Params
)

Run a query against the scene to find the best SnapPointOut for the given Point

Public function

bool

 

ToolSceneQueriesUtil::FindWorldGridSnapPoint

(
    const UInteractiveTool* Tool,
    const FVector3d& QueryPoint,
    FVector3d& GridSnapPointOut
)

Run a query against the scene to find the nearest WorldGrid snap point

Public function

double

 

ToolSceneQueriesUtil::GetDefaultVisualAngleSnapThreshD()

Public function

bool

 

ToolSceneQueriesUtil::IsPointVisible

(
    const FViewCameraState& CameraStat...,
    const FVector3d& Point
)

Public function

bool

 

ToolSceneQueriesUtil::IsVisibleObjectHit

(
    const FHitResult& HitResult
)

Public function

double

 

ToolSceneQueriesUtil::PointSnapMetric

(
    const FViewCameraState& CameraStat...,
    const FVector3d& Point1,
    const FVector3d& Point2
)

Get a measurement for testing whether two points can snap together, useful for choosing the best snap point among multiple options.

Public function

bool

 

ToolSceneQueriesUtil::PointSnapQuery

(
    const FViewCameraState& CameraStat...,
    const FVector3d& Point1,
    const FVector3d& Point2,
    double VisualAngleThreshold
)

Test if two points are close enough to snap together.

Public function

bool

 

ToolSceneQueriesUtil::PointSnapQuery

(
    const UInteractiveTool* Tool,
    const FVector3d& Point1,
    const FVector3d& Point2,
    double VisualAngleThreshold
)

Test if two points are close enough to snap together.

Public function

double

 

ToolSceneQueriesUtil::SnapDistanceToWorldGridSize

(
    const UInteractiveTool* Tool,
    const double Distance
)

Round the given distance to the nearest multiple of the world grid cell size

Public function

void

 

ToolSetupUtil::ApplyRenderingConfigurationToPreview

(
    UPreviewMesh* PreviewMesh,
    UToolTarget* SourceTarget
)

Rendering Configuration/Setup Functions These utility functions are used to configure rendering settings on Preview Meshes created internally by Modeling Tools.

Public function

void

 

ToolSetupUtil::ApplyRenderingConfigurationToPreview

(
    UBaseDynamicMeshComponent* Com...,
    UToolTarget* SourceTarget
)

Rendering Configuration/Setup Functions These utility functions are used to configure rendering settings on Preview Meshes created internally by Modeling Tools.

Public function

UCurveFloat ...

 

ToolSetupUtil::GetContrastAdjustmentCurve

(
    UInteractiveToolManager* ToolM...
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetCustomDepthOffsetMaterial

(
    UInteractiveToolManager* ToolM...,
    const FLinearColor& Color,
    float PercentDepthOffset,
    float Opacity
)

That the material will have translucent blend mode, which can interact poorly with overlapping translucent objects, so use the other overload if you do not need opacity control.

Public function

UMaterialIns...

 

ToolSetupUtil::GetCustomDepthOffsetMaterial

(
    UInteractiveToolManager* ToolM...,
    const FLinearColor& Color,
    float PercentDepthOffset
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetCustomImageBasedSculptMaterial

(
    UInteractiveToolManager* ToolM...,
    UTexture* SetImage
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetCustomTwoSidedDepthOffsetMaterial

(
    UInteractiveToolManager* ToolM...,
    const FLinearColor& Color,
    float PercentDepthOffset
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetCustomTwoSidedDepthOffsetMaterial

(
    UInteractiveToolManager* ToolM...,
    const FLinearColor& Color,
    float PercentDepthOffset,
    float Opacity
)

That the material will have translucent blend mode, which can interact poorly with overlapping translucent objects, so use the other overload if you do not need opacity control.

Public function

UMaterialIns...

 

ToolSetupUtil::GetDefaultBrushAlphaMaterial

(
    UInteractiveToolManager* ToolM...
)

Get a Material to use with a square brush plane/ROI indicator that has an analytic falloff function combined w/ an alpha mask texture.

Public function

UMaterialIns...

 

ToolSetupUtil::GetDefaultBrushVolumeMaterial

(
    UInteractiveToolManager* ToolM...
)

Public function

UMaterialInt...

 

ToolSetupUtil::GetDefaultEditVolumeMaterial()

Public function

UMaterialIns...

 

ToolSetupUtil::GetDefaultErrorMaterial

(
    UInteractiveToolManager* ToolM...
)

Public function

UMaterialInt...

 

ToolSetupUtil::GetDefaultLineComponentMaterial

(
    UInteractiveToolManager* ToolM...,
    bool bDepthTested
)

Gets a custom material suitable for use with ULineSetComponent.

Public function

UMaterialInt...

 

ToolSetupUtil::GetDefaultMaterial

(
    UInteractiveToolManager* ToolM...,
    UMaterialInterface* SourceMate...
)

Get the default material to use for objects in an InteractiveTool.

Public function

UMaterialInt...

 

ToolSetupUtil::GetDefaultMaterial()

Get the default material for surfaces

Public function

UMaterialInt...

 

ToolSetupUtil::GetDefaultPointComponentMaterial

(
    UInteractiveToolManager* ToolM...,
    bool bDepthTested
)

Gets a custom material suitable for use with UPointSetComponent for square points.

Public function

UMaterialInt...

 

ToolSetupUtil::GetDefaultSculptMaterial

(
    UInteractiveToolManager* ToolM...
)

Public function

UMaterialInt...

 

ToolSetupUtil::GetDefaultWorkingMaterial

(
    UInteractiveToolManager* ToolM...
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetDefaultWorkingMaterialInstance

(
    UInteractiveToolManager* ToolM...
)

Public function

UMaterialInt...

 

ToolSetupUtil::GetImageBasedSculptMaterial

(
    UInteractiveToolManager* ToolM...,
    ImageMaterialType Type
)

Public function

UMaterialInt...

 

ToolSetupUtil::GetRoundPointComponentMaterial

(
    UInteractiveToolManager* ToolM...,
    bool bDepthTested
)

Gets a custom material suitable for use with UPointSetComponent for round points.

Public function

UMaterialInt...

 

ToolSetupUtil::GetSelectionMaterial

(
    const FLinearColor& UseColor,
    UInteractiveToolManager* ToolM...,
    float PercentDepthOffset
)

Public function

UMaterialInt...

 

ToolSetupUtil::GetSelectionMaterial

(
    UInteractiveToolManager* ToolM...
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetSimpleCustomMaterial

(
    UInteractiveToolManager* ToolM...,
    const FLinearColor& Color
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetSimpleCustomMaterial

(
    UInteractiveToolManager* ToolM...,
    const FLinearColor& Color,
    float Opacity
)

That the material will have translucent blend mode, which can interact poorly with overlapping translucent objects, so use the other overload if you do not need opacity control.

Public function

UMaterialIns...

 

ToolSetupUtil::GetTransparentSculptMaterial

(
    UInteractiveToolManager* ToolM...,
    const FLinearColor& Color,
    double Opacity,
    bool bTwoSided
)

Public function

UMaterialIns...

 

ToolSetupUtil::GetUVCheckerboardMaterial

(
    double CheckerDensity
)

Get a black-and-white NxN checkerboard material

Public function

UMaterialIns...

 

ToolSetupUtil::GetVertexColorMaterial

(
    UInteractiveToolManager* ToolM...
)

Public function

FCreateMeshO...

 

UE::Modeling::CreateMeshObject

(
    UInteractiveToolManager* ToolM...,
    FCreateMeshObjectParams&& CreateMe...
)

Create a new mesh object based on the data in CreateMeshParams.

Public function

FCreateTextu...

 

UE::Modeling::CreateTextureObject

(
    UInteractiveToolManager* ToolM...,
    FCreateTextureObjectParams&& Creat...
)

Create a new texture object based on the data in CreateTexParams.

Public function

FString

 

UE::Modeling::GenerateRandomShortHexString

(
    int32 NumChars
)

Generate a N-letter GUID string that contains only hex digits, and contains at least one letter and one number.

Public function

FString

 

UE::Modeling::GetComponentAssetBaseName

(
    UPrimitiveComponent* Component,
    bool bRemoveAutoGeneratedSuffixes
)

Look up the name for the Asset underlying the given Component, if there is one.

Public function

FString

 

UE::Modeling::StripGeneratedAssetSuffixFromName

(
    FString InputName
)

Strip the appended auto-generated _UUID suffix on the given string, if we can detect one

Public function

EDynamicMesh...

 

UE::ToolTarget::CommitDynamicMeshNormalsUpdate

(
    UToolTarget* Target,
    const UE::Geometry::FDynamicMesh3&...,
    bool bUpdateTangents
)

Update the Normals/Tangents of the ToolTarget's mesh (assuming it has one) based on the provided UpdatedMesh.

Public function

EDynamicMesh...

 

UE::ToolTarget::CommitDynamicMeshUpdate

(
    UToolTarget* Target,
    const UE::Geometry::FDynamicMesh3&...,
    bool bHaveModifiedTopology,
    const FConversionToMeshDescriptionO...,
    const FComponentMaterialSet* U...
)

Update the Mesh in a ToolTarget based on the provided DynamicMesh, and optional material set

Public function

EDynamicMesh...

 

UE::ToolTarget::CommitDynamicMeshUVUpdate

(
    UToolTarget* Target,
    const UE::Geometry::FDynamicMesh3&...
)

Update the UV sets of the ToolTarget's mesh (assuming it has one) based on the provided UpdatedMesh.

Public function

bool

 

UE::ToolTarget::CommitMaterialSetUpdate

(
    UToolTarget* Target,
    const FComponentMaterialSet& Updat...,
    bool bApplyToAsset
)

Update the material set of the Target

Public function

EDynamicMesh...

 

UE::ToolTarget::CommitMeshDescriptionUpdate

(
    UToolTarget* Target,
    const FMeshDescription* Update...,
    const FComponentMaterialSet* U...
)

Update the Mesh in a ToolTarget based on the provided MeshDescription, and optional material set

Public function

EDynamicMesh...

 

UE::ToolTarget::CommitMeshDescriptionUpdate

(
    UToolTarget* Target,
    FMeshDescription&& UpdatedMesh
)

Update the Mesh in a ToolTarget based on the provided MeshDescription, and optional material set

Public function

EDynamicMesh...

 

UE::ToolTarget::CommitMeshDescriptionUpdateViaDynamicMesh

(
    UToolTarget* Target,
    const UE::Geometry::FDynamicMesh3&...,
    bool bHaveModifiedTopology
)

Update the Mesh in a ToolTarget based on the provided MeshDescription, and optional material set

Public function

bool

 

UE::ToolTarget::ConfigureCreateMeshObjectParams

(
    UToolTarget* SourceTarget,
    FCreateMeshObjectParams& DerivedPa...
)

FCreateMeshObjectParams::TypeHint is used by the ModelingObjectsCreationAPI to suggest what type of mesh object to create inside various Tools.

Public function

UE::Geometry...

 

UE::ToolTarget::GetDynamicMeshCopy

(
    UToolTarget* Target,
    bool bWantMeshTangents
)

Fetch a DynamicMesh3 representing the given ToolTarget.

Public function

FMeshDescrip...

 

UE::ToolTarget::GetEmptyMeshDescription

(
    UToolTarget* Target
)

Public function

FString

 

UE::ToolTarget::GetHumanReadableName

(
    UToolTarget* Target
)

Public function

UE::Geometry...

 

UE::ToolTarget::GetLocalToWorldTransform

(
    UToolTarget* Target
)

Public function

FComponentMa...

 

UE::ToolTarget::GetMaterialSet

(
    UToolTarget* Target,
    bool bPreferAssetMaterials
)

Fetch the Material Set on the object underlying a ToolTarget.

Public function

const FMeshD...

 

UE::ToolTarget::GetMeshDescription

(
    UToolTarget* Target,
    const FGetMeshParameters& GetMeshP...
)

Public function

FMeshDescrip...

 

UE::ToolTarget::GetMeshDescriptionCopy

(
    UToolTarget* Target,
    const FGetMeshParameters& GetMeshP...
)

Return a copy of the MeshDescription underlying a ToolTarget

Public function

UBodySetup &...

 

UE::ToolTarget::GetPhysicsBodySetup

(
    UToolTarget* Target
)

Public function

IInterface_C...

 

UE::ToolTarget::GetPhysicsCollisionDataProvider

(
    UToolTarget* Target
)

Public function

AActor *

 

UE::ToolTarget::GetTargetActor

(
    UToolTarget* Target
)

Public function

UPrimitiveCo...

 

UE::ToolTarget::GetTargetComponent

(
    UToolTarget* Target
)

Public function

bool

 

UE::ToolTarget::HideSourceObject

(
    UToolTarget* Target
)

Hide the "Source Object" (eg PrimitiveComponent, Actor, etc) backing a ToolTarget

Public function

void

 

UE::ToolTarget::Internal::CommitDynamicMeshViaIPersistentDynamicMeshSource

(
    IPersistentDynamicMeshSource& Dyna...,
    const UE::Geometry::FDynamicMesh3&...,
    bool bHaveModifiedTopology
)

Not intended for direct use by tools, just for use by tool target util functions and tool target implementations that may need to do this operation.

Public function

bool

 

UE::ToolTarget::SetSourceObjectVisible

(
    UToolTarget* Target,
    bool bVisible
)

Show or Hide the "Source Object" (eg PrimitiveComponent, Actor, etc) backing a ToolTarget

Public function

bool

 

UE::ToolTarget::ShowSourceObject

(
    UToolTarget* Target
)

Show the "Source Object" (eg PrimitiveComponent, Actor, etc) backing a ToolTarget

Public function

void

 

UE::WeightMaps::FindVertexWeightMaps

(
    const FMeshDescription* Mesh,
    TArray< FName >& PropertyNamesOut
)

Find the set of per-vertex weight map attributes on a MeshDescription

Public function

bool

 

UE::WeightMaps::GetVertexWeightMap

(
    const FMeshDescription* Mesh,
    FName AttributeName,
    FIndexedWeightMap1f& WeightMap,
    float DefaultValue
)

Extract a per-vertex weight map from a MeshDescription If the attribute with the given name is not found, a WeightMap initialized with the default value is returned