FAnimUpdateRateParameters

Container for Animation Update Rate parameters.

Windows
MacOS
Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Engine/EngineTypes.h

Include

#include "Engine/EngineTypes.h"

Syntax

struct FAnimUpdateRateParameters

Remarks

Container for Animation Update Rate parameters. They are shared for all components of an Actor, so they can be updated in sync.

Variables

Name Description

Public variable

float

 

AdditionalTime

Total time of the last series of skipped updates

Public variable

int32

 

BaseNonRenderedUpdateRate

Rate of animation evaluation when non rendered (off screen and dedicated servers).

Public variable

TArray< float >

 

BaseVisibleDistanceFactorThesholds

Array of MaxDistanceFactor to use for AnimUpdateRate when mesh is visible (rendered).

Public variable

uint8: 1

 

bInterpolateSkippedFrames

When skipping a frame, should it be interpolated or frozen?

Public variable

uint8: 1

 

bShouldUseLodMap

Whether or not to use the defined LOD/Frameskip map instead of separate distance factor thresholds

Public variable

uint8: 1

 

bShouldUseMinLod

If set, LOD/Frameskip map will be queried with mesh's MinLodModel instead of current LOD (PredictedLODLevel)

Public variable

uint8: 1

 

bSkipEvaluation

(This frame) animation evaluation should be skipped.

Public variable

uint8: 1

 

bSkipUpdate

(This frame) animation update should be skipped.

Public variable

int32

 

EvaluationRate

How often animation will be evaluated.

Public variable

TMap< int32, in...

 

LODToFrameSkipMap

Map of LOD levels to frame skip amounts.

Public variable

int32

 

MaxEvalRateForInterpolation

Max Evaluation Rate allowed for interpolation to be enabled.

Public variable

EOptimizeMode

 

OptimizeMode

Cache which Update Rate Optimization mode we are using

Public variable

EUpdateRateShif...

 

ShiftBucket

The bucket to use when deciding which counter to use to calculate shift values

Public variable

int32

 

SkippedEvalFrames

Number of evaluate frames that have been skipped in a row

Public variable

int32

 

SkippedUpdateFrames

Number of update frames that have been skipped in a row

Public variable

float

 

ThisTickDelta

The delta time of the last tick

Public variable

float

 

TickedPoseOffestTime

Track time we have lost via skipping

Public variable

int32

 

UpdateRate

How often animation will be updated/ticked. 1 = every frame, 2 = every 2 frames, etc.

Constructors

Name Description

Public function

FAnimUpdateRateParameters()

Default constructor.

Functions

Name Description

Public function Const

bool

 

DoEvaluationRateOptimizations()

Return true if evaluation rate should be optimized at all

Public function Const

float

 

GetInterpolationAlpha()

Amount to interpolate bone transforms

Public function Const

float

 

GetRootMotionInterp()

Amount to interpoilate root motion

Public function

float

 

GetTimeAdjustment()

Called when we are ticking a pose to make sure we accumulate all needed time

Public function Const

FColor

 

GetUpdateRateDebugColor()

Returns color to use for debug UI

Public function

void

 

SetLookAheadMode

(
    float DeltaTime,
    uint8 UpdateRateShift,
    float LookAheadAmount
)

Set parameters and verify inputs for Lookahead mode, which handles Root Motion

Public function

void

 

SetTrailMode

(
    float DeltaTime,
    uint8 UpdateRateShift,
    int32 NewUpdateRate,
    int32 NewEvaluationRate,
    bool bNewInterpSkippedFrames
)

Set parameters and verify inputs for Trail Mode (original behaviour - skip frames, track skipped time and then catch up afterwards).

Public function Const

bool

 

ShouldInterpolateSkippedFrames()

Getter for bInterpolateSkippedFrames

Public function Const

bool

 

ShouldSkipEvaluation()

Getter for bSkipEvaluation

Public function Const

bool

 

ShouldSkipUpdate()

Getter for bSkipUpdate

Enums

Name

Description

Public enum

EOptimizeMode

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback