template<FieldWidth WIDTH = FieldWidth::Scalar>
CAnimBase struct

Temporal (rollback + net-replicated) base animation layer.

Mode is discriminated by BaseAnimID: >0 = explicit clip (timestamp advanced by wide sweep), 0 = blendspace mode (GPU evaluates at BlendCoordX/Y). Cross-fade uses FadeAnimID/FadeAlpha; AnimConstruct drives FadeAlpha and clears it on completion. StateNodeID preserves state machine position for rollback re-derivation.

Base classes

template<template<FieldWidth> class Derived, FieldWidth WIDTH = FieldWidth::Scalar>
struct ComponentView<CAnimBase, FieldWidth::Scalar>

Constructors, destructors, conversion operators

TNX_TEMPORAL_FIELDS(CAnimBase, Render, BaseAnimID, BlendspaceID, BaseTimestamp, BlendCoordX, BlendCoordY, FadeAnimID, FadeTimestamp, FadeAlpha, StateNodeID, Flags) UIntProxy< WIDTH > BaseAnimID

Public functions

auto GetBaseTimestamp() const -> SimFloat
auto GetFadeTimestamp() const -> SimFloat
auto GetFadeAlpha() const -> SimFloat
auto GetBlendCoordX() const -> SimFloat
auto GetBlendCoordY() const -> SimFloat
auto IsBlendspaceMode() const -> bool
auto HasFade() const -> bool
auto GetBaseLoop() const -> bool
auto GetBaseRootMotion() const -> bool
auto GetFadeLoop() const -> bool
auto GetFadeRootMotion() const -> bool
void SetAnim(TnxName name, SimFloat startTime = {}, bool loops = true, bool rootMotion = false)
Queues an asset checkout; BaseAnimID is written when the asset arrives via OnLoaded.
void SetExplicitAnim(uint32_t animID, SimFloat startTime, bool loops, bool rootMotion = false)
Set an already-resolved animation slot directly (bypasses asset checkout).
void SetBlendspace(uint32_t bsID, SimFloat coordX, SimFloat coordY)
Switch to blendspace mode; the GPU evaluates the pose at (coordX, coordY) each tick.
void SetBaseTimestamp(SimFloat t)
void BeginFade(uint32_t fromAnimID, SimFloat fromTimestamp, bool fromLoops, bool fromRootMotion = false)
Begin a cross-fade: stores the outgoing clip as the fade source; AnimConstruct drives FadeAlpha to 1.
void SetFadeAlpha(SimFloat alpha)
void ClearFade()
void Clear()

Public variables

UIntProxy<WIDTH> BlendspaceID
FloatProxy<WIDTH> BaseTimestamp
FloatProxy<WIDTH> BlendCoordX
FloatProxy<WIDTH> BlendCoordY
UIntProxy<WIDTH> FadeAnimID
FloatProxy<WIDTH> FadeTimestamp
FloatProxy<WIDTH> FadeAlpha
UIntProxy<WIDTH> StateNodeID
UIntProxy<WIDTH> Flags