Navigation
API > API/Plugins > API/Plugins/OptimusCore
Inheritance Hierarchy
- UMeshDeformer
- IInterface_PreviewMeshProvider
- IOptimusPathResolver
- IOptimusNodeGraphCollectionOwner
- IOptimusNodeFunctionLibraryOwner
- UOptimusDeformer
References
| Module | OptimusCore |
| Header | /Engine/Plugins/Animation/DeformerGraph/Source/OptimusCore/Public/OptimusDeformer.h |
| Include | #include "OptimusDeformer.h" |
Syntax
UCLASS (Blueprintable, BlueprintType)
class UOptimusDeformer :
public UMeshDeformer,
public IInterface_PreviewMeshProvider,
public IOptimusPathResolver ,
public IOptimusNodeGraphCollectionOwner ,
public IOptimusNodeFunctionLibraryOwner
Remarks
A Deformer Graph is an asset that is used to create and control custom deformations on skeletal meshes.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< FOptimusComputeGraphInfo > | ComputeGraphs | The compute graphs to execute. | |
| TMap< TWeakObjectPtr< const UComputeDataInterface >, FOptimusDataInterfacePropertyOverrideInfo > | DataInterfacePropertyOverrideMap | ||
| TObjectPtr< USkeletalMesh > | Mesh | ||
| TMap< FOptimusValueIdentifier, FOptimusValueDescription > | ValueMap |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| UOptimusComponentSourceBinding * | AddComponentBinding
(
const UOptimusComponentSource* InComponentSource, |
Component Bindings. | |
| bool | AddComponentBindingDirect
(
UOptimusComponentSourceBinding* InComponentBinding, |
||
| UOptimusResourceDescription * | AddResource
(
FOptimusDataTypeRef InDataTypeRef, |
Resources. | |
| bool | AddResourceDirect
(
UOptimusResourceDescription* InResourceDesc, |
Adds a resource that was created by this deformer and is owned by it. | |
| UOptimusNodeGraph * | Add a setup graph. | ||
| UOptimusNodeGraph * | AddTriggerGraph
(
const FString& InName |
Add a trigger graph. | |
| UOptimusVariableDescription * | AddVariable
(
FOptimusDataTypeRef InDataTypeRef, |
Variables. | |
| bool | AddVariableDirect
(
UOptimusVariableDescription* InVariableDesc, |
Adds a resource that was created by this deformer and is owned by it. | |
| void | BeginDestroy () |
||
| bool | Compile () |
Graph compilation. | |
| UOptimusComponentSourceBinding * | CreateComponentBindingDirect
(
const UOptimusComponentSource* InComponentSource, |
||
| UOptimusNodeGraph * | CreateGraph
(
EOptimusNodeGraphType InType, |
||
| UMeshDeformerInstance * | CreateInstance
(
UMeshComponent* InMeshComponent, |
||
| UOptimusDeformerInstance * | CreateOptimusInstance
(
UMeshComponent* InMeshComponent, |
||
| UOptimusResourceDescription * | CreateResourceDirect
(
FName InName |
Create a resource owned by this deformer but does not add it to the list of known resources. | |
| UMeshDeformerInstanceSettings * | CreateSettingsInstance
(
UMeshComponent* InMeshComponent |
||
| UOptimusVariableDescription * | CreateVariableDirect
(
FName InName |
Create a resource owned by this deformer but does not add it to the list of known resources. | |
| UOptimusActionStack * | Get the action stack for this deformer graph | ||
| void | GetAssetRegistryTags
(
FAssetRegistryTagsContext Context |
||
| void | GetAssetRegistryTags
(
TArray< FAssetRegistryTag >& OutTags |
||
| FOptimusCompileBegin & | Returns a multicast delegate that can be subscribed to listen for the start of compilation. | ||
| FOptimusCompileEnd & | Returns a multicast delegate that can be subscribed to listen for the end of compilation but before shader compilation is complete. | ||
| FOptimusGraphCompileMessageDelegate & | Returns a multicast delegate that can be subscribed to listen compilation results. | ||
| const TArray< UOptimusComponentSourceBinding * > & | |||
| TArray< UOptimusFunctionNodeGraph * > | GetFunctionGraphs
(
FName InAccessSpecifier |
Returns all function graphs with the given access specifier. If InAccessSpecifier is None, it performs no filtering. | |
| TArray< UOptimusNode * > | GetNodesUsingComponentBinding
(
const UOptimusComponentSourceBinding* InBinding |
||
| TArray< UOptimusNode * > | GetNodesUsingResource
(
const UOptimusResourceDescription* InResourceDesc |
||
| TArray< UOptimusNode * > | GetNodesUsingVariable
(
const UOptimusVariableDescription* InVariableDesc |
||
| FOptimusGlobalNotifyDelegate & | Returns the global delegate used to notify on global operations (e.g. graph, variable, resource lifecycle events). | ||
| USkeletalMesh * | |||
| UOptimusComponentSourceBinding * | |||
| const TArray< UOptimusResourceDescription * > & | GetResources () |
||
| EOptimusDeformerStatus | GetStatus () |
Returns the current compilation/error status of the deformer | |
| UOptimusNode * | GetSubGraphReferenceNode
(
const UOptimusNodeSubGraph* InSubGraph |
Returns the sub graph reference node that is uniquely associated with the given subgraph | |
| UOptimusNodeGraph * | Returns the update graph. The update graph will always exist, and there is only one. | ||
| const TArray< UOptimusVariableDescription * > & | GetVariables () |
||
| void | MarkModified () |
Mark the deformer as modified. | |
| void | Notify
(
EOptimusGlobalNotifyType InNotifyType, |
||
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
||
| void | PostLoad () |
||
| void | PostRename
(
UObject* OldOuter, |
Whenever the asset is renamed/moved, generated classes parented to the old package are not moved to the new package automatically (see FAssetRenameManager), so we have to manually perform the move/rename, to avoid invalid reference to the old package | |
| bool | RemoveComponentBinding
(
UOptimusComponentSourceBinding* InBinding |
||
| bool | RemoveComponentBindingDirect
(
UOptimusComponentSourceBinding* InBinding |
||
| bool | RemoveGraph
(
UOptimusNodeGraph* InGraph |
Remove a graph and delete it. | |
| bool | RemoveResource
(
UOptimusResourceDescription* InResourceDesc |
||
| bool | RemoveResourceDirect
(
UOptimusResourceDescription* InResourceDesc |
||
| bool | RemoveVariable
(
UOptimusVariableDescription* InVariableDesc |
||
| bool | RemoveVariableDirect
(
UOptimusVariableDescription* InVariableDesc |
||
| bool | RenameComponentBinding
(
UOptimusComponentSourceBinding* InBinding, |
||
| bool | RenameComponentBindingDirect
(
UOptimusComponentSourceBinding* InBinding, |
||
| bool | RenameResource
(
UOptimusResourceDescription* InResourceDesc, |
||
| bool | RenameResourceDirect
(
UOptimusResourceDescription* InResourceDesc, |
||
| bool | RenameVariable
(
UOptimusVariableDescription* InVariableDesc, |
||
| bool | RenameVariableDirect
(
UOptimusVariableDescription* InVariableDesc, |
||
| void | UObject overrides. | ||
| void | SetAllInstancesCanbeActive
(
bool bInCanBeActive |
||
| bool | SetComponentBindingSource
(
UOptimusComponentSourceBinding* InBinding, |
||
| bool | SetComponentBindingSourceDirect
(
UOptimusComponentSourceBinding* InBinding, |
||
| void | SetPreviewMesh
(
USkeletalMesh* PreviewMesh, |
||
| bool | SetResourceDataDomain
(
UOptimusResourceDescription* InResourceDesc, |
||
| bool | SetResourceDataDomainDirect
(
UOptimusResourceDescription* InResourceDesc, |
||
| bool | SetResourceDataType
(
UOptimusResourceDescription* InResourceDesc, |
||
| bool | SetResourceDataTypeDirect
(
UOptimusResourceDescription* InResourceDesc, |
||
| void | SetStatusFromDiagnostic
(
EOptimusDiagnosticLevel InDiagnosticLevel |
||
| bool | SetVariableDataType
(
UOptimusVariableDescription* InVariableDesc, |
||
| bool | SetVariableDataTypeDirect
(
UOptimusVariableDescription* InResourceDesc, |
Overridden from IOptimusPathResolver
| Type | Name | Description | |
|---|---|---|---|
| IOptimusNodeGraphCollectionOwner * | ResolveCollectionPath
(
const FString& InPath |
Takes a collection path string and attempts to resolve it to a specific graph collection. | |
| UOptimusComponentSourceBinding * | ResolveComponentBinding
(
FName InBindingName |
||
| UOptimusNodeGraph * | ResolveGraphPath
(
const FString& InPath |
Takes a graph path string and attempts to resolve it to a specific graph | |
| UOptimusNode * | ResolveNodePath
(
const FString& InPath |
Takes a node path string and attempts to resolve it to a specific node | |
| UOptimusNodePin * | ResolvePinPath
(
const FString& InPinPath |
Takes a dot-separated path string and attempts to resolve it to a specific pin on a node. | |
| UOptimusResourceDescription * | ResolveResource
(
FName InResourceName |
||
| UOptimusVariableDescription * | ResolveVariable
(
FName InVariableName |
Overridden from IOptimusNodeGraphCollectionOwner
| Type | Name | Description | |
|---|---|---|---|
| bool | AddGraphDirect
(
UOptimusNodeGraph* InGraph, |
Takes an existing graph and adds it to this graph collection. If the graph cannot be added, the object remains unchanged and this function returns false. | |
| UOptimusNodeGraph * | CreateGraphDirect
(
EOptimusNodeGraphType InType, |
Create a new graph of a given type, with an optional name. | |
| UOptimusNodeGraph * | FindGraphByName
(
FName InGraphName |
||
| IOptimusNodeGraphCollectionOwner * | Returns the collection that owns this collection, or nullptr if this is the root collection | ||
| FString | Returns the path to this graph collection owner. | ||
| IOptimusNodeGraphCollectionOwner * | Returns root collection that owns all the collections | ||
| const TArray< UOptimusNodeGraph * > & | GetGraphs () |
Returns all immediately owned node graphs. | |
| bool | MoveGraphDirect
(
UOptimusNodeGraph* InGraph, |
Re-order the graph relative to the other graphs. | |
| bool | RemoveGraphDirect
(
UOptimusNodeGraph* InGraph, |
Remove the given graph. | |
| bool | RenameGraph
(
UOptimusNodeGraph* InGraph, |
Rename the given graph, subject to validation of the name. | |
| bool | RenameGraphDirect
(
UOptimusNodeGraph* InGraph, |
Rename the given graph, subject to validation of the name. |
Constants
| Name | Description |
|---|---|
| FunctionReferencesAssetTagName | |
| PublicFunctionsAssetTagName |