Navigation
API > API/Plugins > API/Plugins/AnimGen
The Controller class represents a trained character controller that uses flow-matching and a neural-network to auto-regressively produce the character's pose frame by frame.
A controller is always implicitly linked to a behavior which it was trained on - and input to the controller will be provided via the behavior.
| Name | UAnimGenController |
| Type | class |
| Header File | /Engine/Plugins/Experimental/Animation/AnimGen/Source/AnimGen/Public/AnimGenController.h |
| Include Path | #include "AnimGenController.h" |
Syntax
UCLASS (Blueprintable, BlueprintType)
class UAnimGenController : public UDataAsset
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UDataAsset → UAnimGenController
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UAnimGenController
(
const FObjectInitializer& ObjectInitializer |
AnimGenController.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AutoEncoder | TObjectPtr< UAnimGenAutoEncoder > | Auto-Encoder which this controller uses | AnimGenController.h |
|
| ControlDistributionVectorSize | int32 | Size of the control distribution vector used to clamp controls for this controller | AnimGenController.h | |
| ControlEncoderNetwork | TObjectPtr< ULearningNeuralNetworkData > | Control Encoder Network | AnimGenController.h |
|
| ControlEncoderSize | int32 | Current size of the trained control encoder in kilobytes | AnimGenController.h |
|
| ControlSchema | FAnimGenControlSchema | Control Schema for the given Behavior | AnimGenController.h | |
| ControlSchemaElement | FAnimGenControlSchemaElement | Control Schema Element for the given Behavior | AnimGenController.h | |
| ControlVectorDistributionMaxs | TArray< float > | Max of the control vectors used by this controller | AnimGenController.h | |
| ControlVectorDistributionMins | TArray< float > | Min of the control vectors used by this controller | AnimGenController.h | |
| ControlVectorSize | int32 | Size of the control vector used by this controller | AnimGenController.h | |
| DenoiserSize | int32 | Current size of all the trained denoiser networks in kilobytes | AnimGenController.h |
|
| EncodedControlVectorSize | int32 | Size of the encoded control vector used by this controller | AnimGenController.h | |
| EncodedPoseMaxs | TArray< float > | Max of the encoded pose vectors used for training | AnimGenController.h | |
| EncodedPoseMeans | TArray< float > | Mean of the encoded pose vectors used for training | AnimGenController.h | |
| EncodedPoseMins | TArray< float > | Min of the encoded pose vectors used for training | AnimGenController.h | |
| EncodedPoseNormalizationScale | float | Scale used for normalizing encoded pose vectors | AnimGenController.h | |
| EncodedPoseStds | TArray< float > | Std of the encoded pose vectors used for training | AnimGenController.h | |
| FrameRate | FFrameRate | The Frame Rate this controller was trained to run at | AnimGenController.h |
|
| LOD0Network | TObjectPtr< ULearningNeuralNetworkData > | LOD0 Network | AnimGenController.h |
|
| LOD1Network | TObjectPtr< ULearningNeuralNetworkData > | LOD1 Network | AnimGenController.h |
|
| LOD2Network | TObjectPtr< ULearningNeuralNetworkData > | LOD2 Network | AnimGenController.h |
|
| NormalizedPoseStds | TArray< float > | Std used for normalizing the encoded pose vectors | AnimGenController.h | |
| TrainedAutoEncoderContentHash | int32 | The content hash of the auto-encoder used for training | AnimGenController.h | |
| TrainedFrameRangesContentHash | int32 | The content hash of the frame ranges used for training | AnimGenController.h | |
| TrainedSchemaCompatibilityHash | int32 | The compatibility hash of the schema used for training | AnimGenController.h | |
| TrainingSettings | TObjectPtr< UAnimGenControllerTrainingSettings > | Editor-only object containing the training settings for the editor window | AnimGenController.h |
|
| ViewportSettings | TObjectPtr< UAnimGenControllerViewportSettings > | Editor-only object containing the viewport settings for the editor window | AnimGenController.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ClampNormalizedPoseVectorsInplace
(
const TLearningArrayView< 2, float > InOutNormalizedEncodedPoseVectors |
Clamp encoded pose vectors produced by the controller to within a valid range | AnimGenController.h | |
void DenormalizeEncodedPoseVectors
(
const TLearningArrayView< 2, float > OutUnnormalizedEncodedPoseVectors, |
De-normalize encoded pose vectors produced by the controller | AnimGenController.h | |
void Invalidate() |
Reset the controller back to an untrained state | AnimGenController.h |
|
bool IsValid() |
Check if the controller is valid and trained | AnimGenController.h |
|
void NormalizeEncodedPoseVectors
(
const TLearningArrayView< 2, float > OutNormalizedEncodedPoseVectors, |
Normalize encoded pose vectors to make them appropriate for the controller | AnimGenController.h | |
void NormalizeEncodedPoseVectorsInplace
(
const TLearningArrayView< 2, float > InOutEncodedPoseVectors |
Normalize encoded pose vectors in-place to make them appropriate for the controller | AnimGenController.h | |
void ScaleSamplingNoiseInplace
(
const TLearningArrayView< 2, float > InOutSamplingNoise |
Scale initial sampling noise in place to match normalized encoded pose vectors standard deviation | AnimGenController.h |