15#include <glm/gtx/string_cast.hpp>
95 std::vector<kMat4> finalBoneMatrices;
97 std::vector<kSkeletalAnimation *> animations;
103 float currentTime = 0.0f;
104 float deltaTime = 0.0f;
106 int currentFrameId = -1;
Non-skeletal animation clip — collection of per-object tracks.
Definition kanimation.h:48
kSkeletalAnimation * getCurrentAnimation()
Currently active skeletal clip.
kAnimation * getObjectAnimation() const
Returns the registered non-skeletal clip, or nullptr.
void setCurrentTime(float newTime)
Seeks to a specific time in the active clip (ticks).
void setSpeed(float newSpeed)
Sets the global playback speed multiplier.
kAnimator(kSkeletalAnimation *newAnimation)
Constructs an animator and sets the initial skeletal clip.
void updateAnimation(float newDeltaTime, int frameId)
Advances the active animation by one step.
void setObjectAnimation(kAnimation *clip)
Registers the active non-skeletal clip (no-op playback for now).
float getSpeed()
Current global playback speed multiplier.
void calculateBoneTransform(const kNodeData *node, kMat4 parentTransform)
Recursively computes bone transforms for the entire skeleton.
void addAnimation(kSkeletalAnimation *newAnimation)
Registers an additional skeletal clip.
void playAnimation(kSkeletalAnimation *animation)
Switches to a different skeletal clip and resets time.
const std::vector< kMat4 > getFinalBoneMatrices() const
Per-bone world matrices ready for shader upload.
Scene-graph node that holds renderable geometry.
Definition kmesh.h:35
A single skeletal animation clip (bone channels + node hierarchy).
Definition kskelanimation.h:38
Single skeletal bone with position, rotation, and scale keyframe channels.
Core type aliases, enumerations, structs, and utility functions used throughout the engine.
Polygonal mesh node with skeletal animation support.
Skeletal animation clip — bone keyframes + node hierarchy.
Top-level Kemena3D engine namespace.
Definition kanimation.h:23
glm::mat4 kMat4
4x4 float matrix.
Definition kdatatype.h:39
Node in a skeletal-animation hierarchy (one per scene-graph joint).
Definition kdatatype.h:700