97 [[nodiscard]]
int numJoints() const noexcept;
101 std::unique_ptr<
Impl> impl_;
Catalog of ozz animation clips shared across all animated entities.
ClipId
Enumerated clip IDs.
Definition AnimationLibrary.hpp:21
static constexpr size_t kNumSamplerSlots
Number of sampler slots available for the per-frame blend.
Definition CharacterAnimator.hpp:38
Shared skinned-character rig: skeleton, bind-pose mesh, skin weights.
Pluggable skinning interface — phase-1 CPU LBS; GPU backend slots in later.
Collection of animation clips loaded on top of a shared skeleton.
Definition AnimationLibrary.hpp:55
Per-entity animator.
Definition CharacterAnimator.hpp:59
void setSkinningBackend(const ISkinningBackend *backend)
Set the skinning backend (non-owning).
Definition CharacterAnimator.cpp:193
void setDebugPlaybackSpeed(float mul) noexcept
Playback-speed multiplier applied in debug-override mode.
Definition CharacterAnimator.cpp:216
ClipId debugOverride() const noexcept
Current debug override clip (_Count = no override).
Definition CharacterAnimator.cpp:206
const std::array< ClipSampler, kNumSamplerSlots > & samplers() const noexcept
Snapshot of the current sampler slots (for UI inspection).
Definition CharacterAnimator.cpp:211
CharacterAnimator(CharacterAnimator &&) noexcept=delete
int numJoints() const noexcept
Number of joints in the underlying rig.
Definition CharacterAnimator.cpp:221
CharacterAnimator(const CharacterAnimator &)=delete
void computeSkinnedVertices(std::vector< std::vector< ModelVertex > > &out) const
Apply CPU skinning to every rig mesh, producing animated vertices.
Definition CharacterAnimator.cpp:658
void update(const AnimationInputs &inputs, float dt)
Advance the state machine, sample + blend, and compute skin matrices.
Definition CharacterAnimator.cpp:349
void setDebugOverride(ClipId id, bool loop=true)
Force a single clip to play, bypassing the graph.
Definition CharacterAnimator.cpp:198
CharacterAnimator & operator=(const CharacterAnimator &)=delete
Shared skinned rig — skeleton + bind-pose meshes + joint map.
Definition CharacterRig.hpp:42
Abstract skinning backend.
Definition SkinningBackend.hpp:20
Definition CharacterAnimator.cpp:92
One active sampler slot contributing to the per-frame blend.
Definition CharacterAnimator.hpp:42
bool active
False = slot unused this frame.
Definition CharacterAnimator.hpp:47
float playbackSpeed
Multiplier applied to clip duration when advancing.
Definition CharacterAnimator.hpp:45
float weight
Blend weight; slots with weight 0 are skipped.
Definition CharacterAnimator.hpp:46
float timeRatio
Normalised playback time ∈ [0, 1].
Definition CharacterAnimator.hpp:44
One vertex in a loaded 3-D model (PBR-ready).
Definition ModelLoader.hpp:19