Navigation
API > API/Plugins > API/Plugins/AnimGen
AnimGen AutoEncoder
This asset can be used to learn a compact vector encoding of poses (and their velocities) in conjunction with the AnimDatabase. This compact vector encoding is useful for downstream machine learning tasks since it allows them to work in an abstract space rather than dealing directly with the pose representation.
| Name | UAnimGenAutoEncoder |
| Type | class |
| Header File | /Engine/Plugins/Experimental/Animation/AnimGen/Source/AnimGen/Public/AnimGenAutoEncoder.h |
| Include Path | #include "AnimGenAutoEncoder.h" |
Syntax
UCLASS (Blueprintable, BlueprintType)
class UAnimGenAutoEncoder : public UDataAsset
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UDataAsset → UAnimGenAutoEncoder
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UAnimGenAutoEncoder
(
const FObjectInitializer& ObjectInitializer |
AnimGenAutoEncoder.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AttributeNames | TArray< FName > | Names of the attributes encoded/decoded by this AutoEncoder | AnimGenAutoEncoder.h | |
| AttributeTypes | TArray< EAnimDatabaseAttributeType > | Types of the attributes encoded/decoded by this AutoEncoder | AnimGenAutoEncoder.h | |
| AutoEncodedBoneLocationIndices | TArray< int32 > | Indices of bone locations that are encoded/decoded by this AutoEncoder | AnimGenAutoEncoder.h | |
| AutoEncodedBoneRotationIndices | TArray< int32 > | Indices of bone rotations that are encoded/decoded by this AutoEncoder | AnimGenAutoEncoder.h | |
| AutoEncodedBoneScaleIndices | TArray< int32 > | Indices of bone scales that are encoded/decoded by this AutoEncoder | AnimGenAutoEncoder.h | |
| AutoEncodedRequiredBoneIndices | TArray< int32 > | Indices of all of the bones encoded/decoded by this AutoEncoder | AnimGenAutoEncoder.h | |
| BoneNames | TArray< FName > | Names of the bones used to train the auto-encoder | AnimGenAutoEncoder.h | |
| BoneParents | TArray< int32 > | Parents of the bones used to train the auto-encoder | AnimGenAutoEncoder.h | |
| DecoderInferenceTime | int32 | Current approximate inference time for the decoder in microseconds | AnimGenAutoEncoder.h |
|
| DecoderNetwork | TObjectPtr< ULearningNeuralNetworkData > | Decoder Network | AnimGenAutoEncoder.h |
|
| DecoderSize | int32 | Current size of the trained decoder in kilobytes | AnimGenAutoEncoder.h |
|
| DefaultBoneLocations | TArray< FVector3f > | Default bone locations when this value is constant in the dataset | AnimGenAutoEncoder.h | |
| DefaultBoneRotations | TArray< FQuat4f > | Default bone rotations when this value is constant in the dataset | AnimGenAutoEncoder.h | |
| DefaultBoneScales | TArray< FVector3f > | Default bone scales when this value is constant in the dataset | AnimGenAutoEncoder.h | |
| EncoderInferenceTime | int32 | Current approximate inference time for the encoder in microseconds | AnimGenAutoEncoder.h |
|
| EncoderNetwork | TObjectPtr< ULearningNeuralNetworkData > | Encoder Network | AnimGenAutoEncoder.h |
|
| EncoderSize | int32 | Current size of the trained encoder in kilobytes | AnimGenAutoEncoder.h |
|
| PoseVectorMax | TArray< float > | Maximum pose vector for clamping | AnimGenAutoEncoder.h | |
| PoseVectorMin | TArray< float > | Minimum pose vector for clamping | AnimGenAutoEncoder.h | |
| PoseVectorOffset | TArray< float > | Normalization offset for pose vectors | AnimGenAutoEncoder.h | |
| PoseVectorScale | TArray< float > | Normalization scale for pose vectors | AnimGenAutoEncoder.h | |
| TrainedBoneLocations | TArray< FName > | List of bone names where the translation is output by the auto-encoder | AnimGenAutoEncoder.h |
|
| TrainedBoneRotations | TArray< FName > | List of bone names where the rotation is output by the auto-encoder | AnimGenAutoEncoder.h |
|
| TrainedBoneScales | TArray< FName > | List of bone names where the scale is output by the auto-encoder | AnimGenAutoEncoder.h |
|
| TrainedContentHash | int32 | The content hash of the frame ranges used for training | AnimGenAutoEncoder.h | |
| TrainedFrameAttributes | TArray< FAnimDatabaseFrameAttributeEntry > | The Frame Attributes used for training | AnimGenAutoEncoder.h |
|
| TrainedSkeleton | TObjectPtr< USkeleton > | The skeleton used for training | AnimGenAutoEncoder.h |
|
| TrainingSettings | TObjectPtr< UAnimGenAutoEncoderTrainingSettings > | Editor-only object containing the training settings for the editor window | AnimGenAutoEncoder.h |
|
| ViewportSettings | TObjectPtr< UAnimGenAutoEncoderViewportSettings > | Editor-only object containing the viewport settings for the editor window | AnimGenAutoEncoder.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ClampPoseVectors
(
TLearningArrayView< 2, float > InOutPoseVectors |
Clamps the given pose vectors according to this AutoEncoder | AnimGenAutoEncoder.h | |
void DenormalizePoseVectors
(
TLearningArrayView< 2, float > InOutPoseVectors |
Denormalizes the given pose vectors according to this AutoEncoder | AnimGenAutoEncoder.h | |
int32 FindAttributeIndex
(
const FName AttributeName |
Finds the attribute index for a given name | AnimGenAutoEncoder.h |
|
int32 FindBoneIndex
(
const FName BoneName |
Finds the AutoEncoder bone index corresponding to a bone name | AnimGenAutoEncoder.h |
|
| Finds the AutoEncoder bone indices corresponding to the given bone names | AnimGenAutoEncoder.h |
|
|
void FindBoneIndicesFromArrayViews
(
TArrayView< int32 > OutBoneIndices, |
AnimGenAutoEncoder.h |
|
|
void FromPoseVectors
(
const UE::AnimDatabase::FPoseDataView& OutPoseData, |
Get the pose data from the given pose vectors according to this AutoEncoder | AnimGenAutoEncoder.h | |
void FromPoseVectors
(
const UE::AnimDatabase::FPoseDataView& OutPoseData, |
Get the pose data from the given pose vectors according to this AutoEncoder | AnimGenAutoEncoder.h | |
FName GetAttributeName
(
const int32 AttributeIdx |
Gets the name of the attribute with the given index | AnimGenAutoEncoder.h |
|
| Gets an array of all of the trained attribute names | AnimGenAutoEncoder.h |
|
|
int32 GetAttributeNum() |
Gets the number of attributes this AutoEncoder is trained on | AnimGenAutoEncoder.h |
|
EAnimDatabaseAttributeType GetAttributeType
(
const int32 AttributeIdx |
Gets the type of the attribute with the given index | AnimGenAutoEncoder.h |
|
const TArray< EAnimDatabaseAttributeType > & GetAttributeTypes() |
Gets an array of all of the trained attribute types | AnimGenAutoEncoder.h |
|
FName GetBoneName
(
const int32 BoneIdx |
Gets the bone name for a given AutoEncoder bone index | AnimGenAutoEncoder.h |
|
| Gets the array of bone names for the AutoEncoder | AnimGenAutoEncoder.h |
|
|
int32 GetBoneNum() |
Gets the number of bones used by the AutoEncoder | AnimGenAutoEncoder.h |
|
int32 GetBoneParent
(
const int32 BoneIdx |
Gets the parent for a given AutoEncoder bone index | AnimGenAutoEncoder.h |
|
const TArray< int32 > & GetBoneParents() |
Gets the array of bone parent indices for the AutoEncoder | AnimGenAutoEncoder.h |
|
int32 GetContentHash () |
Gets a hash value which can be used to test if the underlying content of the auto-encoder networks has changed. | AnimGenAutoEncoder.h |
|
int32 GetEncodingSize() |
Gets the encoding size used by the AutoEncoder | AnimGenAutoEncoder.h |
|
int32 GetPoseVectorSize() |
Gets the pose vector size used by the AutoEncoder | AnimGenAutoEncoder.h |
|
void Invalidate() |
Invalidate the AutoEncoder and reset back to a default state | AnimGenAutoEncoder.h |
|
bool IsValid() |
Check if the AutoEncoder is valid and trained | AnimGenAutoEncoder.h |
|
void NormalizePoseVectors
(
TLearningArrayView< 2, float > InOutPoseVectors |
Normalizes the given pose vectors according to this AutoEncoder | AnimGenAutoEncoder.h | |
void SetDefaultPoseData
(
const UE::AnimDatabase::FPoseDataView& OutPoseData |
Sets the given pose data to the default pose of this AutoEncoder | AnimGenAutoEncoder.h | |
void SetDefaultPoseData
(
const UE::AnimDatabase::FPoseDataView& OutPoseData, |
Sets the given pose data to the default pose of this AutoEncoder | AnimGenAutoEncoder.h | |
void ToPoseVectors
(
const TLearningArrayView< 2, float > OutPoseVectors, |
Converts the given pose data to pose vectors according to this AutoEncoder | AnimGenAutoEncoder.h | |
void ToPoseVectors
(
const TLearningArrayView< 2, float > OutPoseVectors, |
Converts the given pose data to pose vectors according to this AutoEncoder | AnimGenAutoEncoder.h |