UOptimusDeformer

A Deformer Graph is an asset that is used to create and control custom deformations on skeletal meshes.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

OptimusDeveloper

Header

/Engine/Plugins/Experimental/Optimus/Source/OptimusDeveloper/Public/OptimusDeformer.h

Include

#include "OptimusDeformer.h"

Syntax

UCLASS()
class UOptimusDeformer :
    public UComputeGraph,
    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

Name Description

Public variable UProperty Category, EditAnywhere

USkeletalMesh &...

 

Mesh

Constructors

Name Description

Public function

UOptimusDeformer()

Functions

Name Description

Public function UFunction BlueprintCallable, Category

UOptimusReso...

 

AddResource

(
    FOptimusDataTypeRef InDataTypeRef,
    FName InName
)

Resources.

Public function

bool

 

AddResourceDirect

(
    UOptimusResourceDescription* I...
)

Adds a resource that was created by this deformer and is owned by it.

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddSetupGraph()

Add a setup graph.

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddTriggerGraph

(
    const FString& InName
)

Add a trigger graph.

Public function UFunction BlueprintCallable, Category

UOptimusVari...

 

AddVariable

(
    FOptimusDataTypeRef InDataTypeRef,
    FName InName
)

Variables.

Public function

bool

 

AddVariableDirect

(
    UOptimusVariableDescription* I...
)

Adds a resource that was created by this deformer and is owned by it.

Public function

bool

 

Compile()

Graph compilation.

Public function

UOptimusReso...

 

CreateResourceDirect

(
    FName InName
)

Create a resource owned by this deformer but does not add it to the list of known resources.

Public function

UOptimusVari...

 

CreateVariableDirect

(
    FName InName
)

Create a resource owned by this deformer but does not add it to the list of known resources.

Public function Const

UOptimusActi...

 

GetActionStack()

Public function

FOptimusComp...

 

GetCompileBeginDelegate()

Returns a multicast delegate that can be subscribed to listen for the start of compilation.

Public function

FOptimusComp...

 

GetCompileEndDelegate()

Returns a multicast delegate that can be subscribed to listen for the end of compilation but before shader compilation is complete.

Public function

FOptimusGrap...

 

GetCompileMessageDelegate()

Returns a multicast delegate that can be subscribed to listen compilation results.

Public function

FOptimusGlob...

 

GetNotifyDelegate()

Returns the global delegate used to notify on global operations (e.g. graph, variable, resource lifecycle events).

Public function Const UFunction BlueprintCallable, Category

const TArray...

 

GetResources()

Public function Const

UOptimusNode...

 

GetUpdateGraph()

Returns the update graph. The update graph will always exist, and there is only one.

Public function Const UFunction BlueprintCallable, Category

const TArray...

 

GetVariables()

Protected function Const

void

 

Notify

(
    EOptimusGlobalNotifyType InNotifyTy...,
    UObject* InObject
)

Public function UFunction BlueprintCallable, Category

bool

 

RemoveGraph

(
    UOptimusNodeGraph* InGraph
)

Remove a graph and delete it.

Public function UFunction BlueprintCallable, Category

bool

 

RemoveResource

(
    UOptimusResourceDescription* I...
)

Public function

bool

 

RemoveResourceDirect

(
    UOptimusResourceDescription* I...
)

Public function UFunction BlueprintCallable, Category

bool

 

RemoveVariable

(
    UOptimusVariableDescription* I...
)

Public function

bool

 

RemoveVariableDirect

(
    UOptimusVariableDescription* I...
)

Public function UFunction BlueprintCallable, Category

bool

 

RenameResource

(
    UOptimusResourceDescription* I...,
    FName InNewName
)

Public function

bool

 

RenameResourceDirect

(
    UOptimusResourceDescription* I...,
    FName InNewName
)

Public function UFunction BlueprintCallable, Category

bool

 

RenameVariable

(
    UOptimusVariableDescription* I...,
    FName InNewName
)

Public function

bool

 

RenameVariableDirect

(
    UOptimusVariableDescription* I...,
    FName InNewName
)

Overridden from UComputeGraph

Name Description

Public function Virtual Const

void

 

GetKernelBindings

(
    int32 InKernelIndex,
    TMap< int32, TArray< uint8 >>& Out...
)

UComputeGraph overrides.

Public function Virtual

void

 

OnKernelCompilationComplete

(
    int32 InKernelIndex,
    const TArray< FString >& InCompile...
)

Called each time that a single kernel shader compilation is completed.

Overridden from UObject

Name Description

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

UObject overrides.

Overridden from IInterface_PreviewMeshProvider

Name Description

Public function Virtual Const

USkeletalMes...

 

GetPreviewMesh()

Get the preview mesh for this asset

Public function Virtual

void

 

SetPreviewMesh

(
    USkeletalMesh* PreviewMesh,
    bool bMarkAsDirty
)

IInterface_PreviewMeshProvider overrides.

Overridden from IOptimusPathResolver

Name Description

Public function Virtual

IOptimusNode...

 

ResolveCollectionPath

(
    const FString& InPath
)

IOptimusNodeGraphCollectionRoot overrides.

Public function Virtual

UOptimusNode...

 

ResolveGraphPath

(
    const FString& InPath
)

Takes a graph path string and attempts to resolve it to a specific graph

Public function Virtual

UOptimusNode...

 

ResolveNodePath

(
    const FString& InPath
)

Takes a node path string and attempts to resolve it to a specific node

Public function Virtual

UOptimusNode...

 

ResolvePinPath

(
    const FString& InPinPath
)

Takes a dot-separated path string and attempts to resolve it to a specific pin on a node.

Public function Virtual Const

UOptimusReso...

 

ResolveResource

(
    FName InResourceName
)

Public function Virtual Const

UOptimusVari...

 

ResolveVariable

(
    FName InVariableName
)

Overridden from IOptimusNodeGraphCollectionOwner

Name Description

Public function Virtual

bool

 

AddGraph

(
    UOptimusNodeGraph* InGraph,
    int32 InInsertBefore
)

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.

Public function Virtual

UOptimusNode...

 

CreateGraph

(
    EOptimusNodeGraphType InType,
    FName InName,
    TOptional< int32 > InInsertBefore
)

Create a new graph of a given type, with an optional name.

Public function Virtual Const

IOptimusNode...

 

GetCollectionOwner()

IOptimusNodeGraphCollectionOwner overrides.

Public function Virtual Const

FString

 

GetCollectionPath()

Returns the path to this graph collection owner.

Public function Virtual Const

IOptimusNode...

 

GetCollectionRoot()

Returns root collection that owns all the collections

Public function Virtual Const UFunction BlueprintCallable, Category

const TArray...

 

GetGraphs()

Returns all immediately owned node graphs.

Public function Virtual UFunction BlueprintCallable, Category

bool

 

MoveGraph

(
    UOptimusNodeGraph* InGraph,
    int32 InInsertBefore
)

Re-order the graph relative to the other graphs.

Public function Virtual

bool

 

RemoveGraph

(
    UOptimusNodeGraph* InGraph,
    bool bDeleteGraph
)

Remove the given graph.

Public function Virtual UFunction BlueprintCallable, Category

bool

 

RenameGraph

(
    UOptimusNodeGraph* InGraph,
    const FString& InNewName
)

Rename the given graph, subject to validation of the name.