Navigation
API > API/Plugins > API/Plugins/OptimusCore
Enables composition of multiple deformer instances dynamically
| Name | UOptimusDeformerDynamicInstanceManager |
| Type | class |
| Header File | /Engine/Plugins/Animation/DeformerGraph/Source/OptimusCore/Public/OptimusDeformerDynamicInstanceManager.h |
| Include Path | #include "OptimusDeformerDynamicInstanceManager.h" |
Syntax
UCLASS (MinimalAPI)
class UOptimusDeformerDynamicInstanceManager : public UMeshDeformerInstance
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UMeshDeformerInstance → UOptimusDeformerDynamicInstanceManager
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DefaultInstance | TObjectPtr< UOptimusDeformerInstance > | OptimusDeformerDynamicInstanceManager.h | ||
| GuidToRigDeformerInstanceMap | TMap< FGuid, TObjectPtr< UOptimusDeformerInstance > > | OptimusDeformerDynamicInstanceManager.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| EnqueueCriticalSection | FCriticalSection | Enqueue critical section to be thread safe | OptimusDeformerDynamicInstanceManager.h | |
| ExecutionQueueMap | TMap< EOptimusDeformerExecutionPhase, TMap< int32, TArray< FGuid > > > | Instances per execution group per execution phase | OptimusDeformerDynamicInstanceManager.h | |
| GeometryReadbackRequests | TArray< TUniquePtr< FMeshDeformerGeometryReadbackRequest > > | Readback requests for the current frame | OptimusDeformerDynamicInstanceManager.h | |
| GuidsPendingInit | TArray< FGuid > | Freshly created deformer instances should be initialized before dispatch | OptimusDeformerDynamicInstanceManager.h | |
| GuidToInstanceMap | TMap< FGuid, TObjectPtr< UOptimusDeformerInstance > > | Guid to deformer instance map | OptimusDeformerDynamicInstanceManager.h | |
| ProducerToGuidsMap | TMap< TWeakObjectPtr< UObject >, TArray< FGuid > > | Object ptr to deformer guids map | OptimusDeformerDynamicInstanceManager.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddProducerDeformer
(
IMeshDeformerProducer* InProducer, |
Add a producer defomer to the manager (from game thread) | OptimusDeformerDynamicInstanceManager.h | |
void AllocateResources() |
Called to allocate any persistent render resources | OptimusDeformerDynamicInstanceManager.h | |
void BeginDestroy() |
Begin destroying the managaer | OptimusDeformerDynamicInstanceManager.h | |
void EnqueueProducerDeformer
(
FGuid InInstanceGuid, |
Enqueue an object deformer instance to be executed later (from anim/physics... threads ) | OptimusDeformerDynamicInstanceManager.h | |
void EnqueueWork
(
FEnqueueWorkDesc const& InDesc |
Enqueue the mesh deformer workload on a scene. | OptimusDeformerDynamicInstanceManager.h | |
UOptimusDeformerInstance * GetDeformerInstance
(
FGuid InInstanceGuid |
Get the object deformer given a guid | OptimusDeformerDynamicInstanceManager.h | |
UMeshDeformerInstance * GetInstanceForSourceDeformer() |
InstanceManager is an intermediate instance, call this function to get the instance for the deformer that created this instance manager | OptimusDeformerDynamicInstanceManager.h | |
EMeshDeformerOutputBuffer GetOutputBuffers() |
Return the buffers that this deformer can potentially write to | OptimusDeformerDynamicInstanceManager.h | |
void OnObjectBeginDestroy
(
IMeshDeformerProducer* InObject |
Remove associated deformer instances when the object is removed | OptimusDeformerDynamicInstanceManager.h | |
void ReleaseResources() |
Called when persistent render resources should be released | OptimusDeformerDynamicInstanceManager.h | |
bool RequestReadbackDeformerGeometry
(
TUniquePtr< FMeshDeformerGeometryReadbackRequest > InRequest |
Readback the deformed geometry as mesh description | OptimusDeformerDynamicInstanceManager.h |