AnimEngine is a lightweight C++ runtime focused on real-time animation systems.
See AnimEngineDemo for runnable examples.
- Keyframe Interpolation
- Curve Evaluation
- Easing Functions (StepStart, StepEnd, Linear, EaseIn, EaseOut, EaseInOut)
- Scene Graph
- Transform Hierarchy
- Timeline
- Animation Clip
- Blend Tree
- Animation Layers
- State Machine
- Constraints
- Skeletal Animation
Simplified animation API for common use cases:
// Current: manually add keyframes
curve.addKeyframe(0.0f, 0.0f, Easing::EaseIn);
curve.addKeyframe(2.0f, 100.0f, Easing::EaseIn);
// Proposed: convenience method
curve.animate(0.0f, 100.0f, Easing::EaseIn, 2.0f); // from, to, easing, duration- CMake 3.16 or higher
- C++17 compiler
mkdir build
cd build
cmake ..
cmake --build .cmake .. -DANIMENGINE_BUILD_TESTS=ON
cmake --build .
ctestAdd to your CMake project via add_subdirectory:
add_subdirectory(external/AnimEngine)
target_link_libraries(your_target PRIVATE AnimEngine::animengine)