UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimEncoding.cpp File Reference

Functions

int32 GetCompressedTranslationStride (AnimationCompressionFormat TranslationCompressionFormat)
 
int32 GetCompressedRotationStride (AnimationCompressionFormat RotationCompressionFormat)
 
int32 GetCompressedScaleStride (AnimationCompressionFormat ScaleCompressionFormat)
 
int32 GetCompressedTranslationStride (const FUECompressedAnimData &CompressedData)
 
int32 GetCompressedRotationStride (const FUECompressedAnimData &CompressedData)
 
int32 GetCompressedScaleStride (const FUECompressedAnimData &CompressedData)
 
void PadMemoryWriter (FMemoryWriter *MemoryWriter, uint8 *&TrackData, const int32 Alignment)
 
void PadMemoryReader (FMemoryReader *MemoryReader, uint8 *&TrackData, const int32 Alignment)
 
void AnimationFormat_GetStats (const FUECompressedAnimData &CompressedData, int32 &NumTransTracks, int32 &NumRotTracks, int32 &NumScaleTracks, int32 &TotalNumTransKeys, int32 &TotalNumRotKeys, int32 &TotalNumScaleKeys, float &TranslationKeySize, float &RotationKeySize, float &ScaleKeySize, int32 &OverheadSize, int32 &NumTransTracksWithOneKey, int32 &NumRotTracksWithOneKey, int32 &NumScaleTracksWithOneKey)
 
template<typename CompressedDataType >
void AnimationFormat_SetInterfaceLinks (CompressedDataType &CompressedData)
 
template void AnimationFormat_SetInterfaceLinks (FUECompressedAnimData &CompressedData)
 
template void AnimationFormat_SetInterfaceLinks (FUECompressedAnimDataMutable &CompressedData)
 

Variables

const int32 CompressedTranslationStrides [ACF_MAX]
 
const int32 CompressedTranslationNum [ACF_MAX]
 
const int32 CompressedRotationStrides [ACF_MAX]
 
const int32 CompressedRotationNum [ACF_MAX]
 
const uint8 PerTrackNumComponentTable [ACF_MAX *8]
 
const int32 CompressedScaleStrides [ACF_MAX]
 
const int32 CompressedScaleNum [ACF_MAX]
 

Function Documentation

◆ AnimationFormat_GetStats()

void AnimationFormat_GetStats ( const FUECompressedAnimData CompressedData,
int32 NumTransTracks,
int32 NumRotTracks,
int32 NumScaleTracks,
int32 TotalNumTransKeys,
int32 TotalNumRotKeys,
int32 TotalNumScaleKeys,
float TranslationKeySize,
float RotationKeySize,
float ScaleKeySize,
int32 OverheadSize,
int32 NumTransTracksWithOneKey,
int32 NumRotTracksWithOneKey,
int32 NumScaleTracksWithOneKey 
)

Extracts statistics about a given Animation Sequence

Parameters
SeqAn Animation Sequence.
NumTransTracksThe total number of Translation Tracks found.
NumRotTracksThe total number of Rotation Tracks found.
TotalNumTransKeysThe total number of Translation Keys found.
TotalNumRotKeysThe total number of Rotation Keys found.
TranslationKeySizeThe average size (in BYTES) of a single Translation Key.
RotationKeySizeThe average size (in BYTES) of a single Rotation Key.
OverheadSizeThe size (in BYTES) of overhead (offsets, scale tables, key->frame lookups, etc...)
NumTransTracksWithOneKeyThe total number of Translation Tracks found containing a single key.
NumRotTracksWithOneKeyThe total number of Rotation Tracks found containing a single key.

◆ AnimationFormat_SetInterfaceLinks() [1/3]

void AnimationFormat_SetInterfaceLinks ( CompressedDataType CompressedData)

Sets the internal Animation Codec Interface Links within an Animation CompressedDatauence

Parameters
SeqAn Animation Sequence to setup links within.

◆ AnimationFormat_SetInterfaceLinks() [2/3]

template void AnimationFormat_SetInterfaceLinks ( FUECompressedAnimData CompressedData)

◆ AnimationFormat_SetInterfaceLinks() [3/3]

template void AnimationFormat_SetInterfaceLinks ( FUECompressedAnimDataMutable CompressedData)

◆ GetCompressedRotationStride() [1/2]

int32 GetCompressedRotationStride ( AnimationCompressionFormat  RotationCompressionFormat)
inline

Compressed rotation data will be byte swapped in chunks of this size.

◆ GetCompressedRotationStride() [2/2]

int32 GetCompressedRotationStride ( const FUECompressedAnimData CompressedData)
inline

Compressed rotation data will be byte swapped in chunks of this size.

◆ GetCompressedScaleStride() [1/2]

int32 GetCompressedScaleStride ( AnimationCompressionFormat  ScaleCompressionFormat)
inline

Compressed Scale data will be byte swapped in chunks of this size.

◆ GetCompressedScaleStride() [2/2]

int32 GetCompressedScaleStride ( const FUECompressedAnimData CompressedData)
inline

Compressed Scale data will be byte swapped in chunks of this size.

◆ GetCompressedTranslationStride() [1/2]

int32 GetCompressedTranslationStride ( AnimationCompressionFormat  TranslationCompressionFormat)
inline

Compressed translation data will be byte swapped in chunks of this size.

◆ GetCompressedTranslationStride() [2/2]

int32 GetCompressedTranslationStride ( const FUECompressedAnimData CompressedData)
inline

Compressed translation data will be byte swapped in chunks of this size.

◆ PadMemoryReader()

void PadMemoryReader ( FMemoryReader MemoryReader,
uint8 *&  TrackData,
const int32  Alignment 
)

Skips a specified number of bytes in the memory reader to maintain alignment

◆ PadMemoryWriter()

void PadMemoryWriter ( FMemoryWriter MemoryWriter,
uint8 *&  TrackData,
const int32  Alignment 
)

Pads a specified number of bytes to the memory writer to maintain alignment

Variable Documentation

◆ CompressedRotationNum

const int32 CompressedRotationNum[ACF_MAX]
Initial value:
=
{
4,
3,
3,
1,
1,
1,
0
}

Number of swapped chunks per element.

◆ CompressedRotationStrides

const int32 CompressedRotationStrides[ACF_MAX]
Initial value:
=
{
sizeof(float),
sizeof(float),
sizeof(uint16),
sizeof(FQuatFixed32NoW),
sizeof(FQuatFloat32NoW),
0
}
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition AnimationCompression.h:151
Definition AnimationCompression.h:477
Definition AnimationCompression.h:404

Each CompresedRotationData track's ByteStream will be byte swapped in chunks of this size.

◆ CompressedScaleNum

const int32 CompressedScaleNum[ACF_MAX]
Initial value:
=
{
3,
3,
3,
1,
3,
3,
0
}

Number of swapped chunks per element.

◆ CompressedScaleStrides

const int32 CompressedScaleStrides[ACF_MAX]
Initial value:
=
{
sizeof(float),
sizeof(float),
sizeof(float),
sizeof(float),
sizeof(float),
0
}
Definition AnimationCompression.h:339

Each CompresedScaleData track's ByteStream will be byte swapped in chunks of this size.

◆ CompressedTranslationNum

const int32 CompressedTranslationNum[ACF_MAX]
Initial value:
=
{
3,
3,
3,
1,
3,
3,
0
}

Number of swapped chunks per element.

◆ CompressedTranslationStrides

const int32 CompressedTranslationStrides[ACF_MAX]
Initial value:
=
{
sizeof(float),
sizeof(float),
sizeof(float),
sizeof(float),
sizeof(float),
0
}

Each CompresedTranslationData track's ByteStream will be byte swapped in chunks of this size.

◆ PerTrackNumComponentTable

const uint8 PerTrackNumComponentTable[ACF_MAX *8]
Initial value:
=
{
4,4,4,4,4,4,4,4,
3,1,1,2,1,2,2,3,
3,1,1,2,1,2,2,3,
6,2,2,4,2,4,4,6,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
0,0,0,0,0,0,0,0
}

Number of swapped chunks per element, split out per component (high 3 bits) and flags (low 3 bits)

Note: The entry for ACF_IntervalFixed32NoW is special, and actually indicates how many fixed components there are!