This version brings breaking changes to *2ozz json configuration.
-
Library
- [offline] Implements root motion extraction through
ozz::animation::offline::MotionExtraction
utility. Root motion defines how a character moves during an animation. The utility extracts the motion (position and rotation) from a root joint of the animation into separate tracks, and removes (bakes) that motion from the original animation. User code is expected to reapply motion at runtime by moving the character transform, hence reconstructing the original animation. - [animation] Implements root motion blending through
ozz::animation::MotionBlendingJob
. With a similar interface toozz::animation::BlendingJob
, the job blends (interpolate) the delta of motion from multiple animations according to weight coefficients. - [animation] Improves compaction for identity and constant tracks.
- [base] Make Stream's destructor public. (#183).
- [offline] Implements root motion extraction through
-
Tools
- Adds motion track extraction to *2ozz. Configuration (json) is extended with a animations.tracks.motion object that exposes root motion extraction settings. See src/animation/offline/tools/reference.json#L67.
- Breaking *2ozz json configuration change. *2ozz json configuration animations.tracks is no longer an array, but now an object. See src/animation/offline/tools/reference.json#L51.
- Updates nlohmann/json from 3.5.0 to 3.11.3 (#179).
- Logs *2ozz configuration in verbose log level.
-
Samples
- Adds motion extraction sample, showcasing root motion extraction parameters.
- Adds motion playback sample, demonstrating motion accumulation during playback.
- Adds motion blending sample, leveraging
ozz::animation::MotionBlendingJob
to blend root motion of three animations.