ozz-animation

Documentation - Features

This page lists implemented features and plans for future releases.

Features

Name Description Availability
Animation building Building an ozz run-time (optimized, compressed) animation from a raw (simple, editable, offline) animation format. 0.1.0
Skeleton building Building an ozz run-time (optimized, compressed) skeleton from a raw (simple, editable, offline) skeleton format. 0.1.0
Sampling Sampling an animation at a given time, in local space. 0.1.0
Local to model space conversion Converting from local space (bone transform relatively to its parent) to model space (bone transform relatively to the root). 0.1.0
Serialization Serialization of skeleton and animation data structures, endiannes support. 0.1.0
Key-frame optimizations Optimizes redundant key-frames. 0.1.0
Blending N-way blending of local space skeleton postures. 0.2.0
Partial animation Support building of animation masks, sampling and blending masked animations. 0.3.0
Fbx support Adds full pipeline support for Fbx files (skeletons and animations). 0.4.0
Key-frame compression Compress animation memory footprint. 0.6.0
Skinning Supports for matrix palette skinning. 0.7.0
Additive animation Supports building, sampling and blending of additive animations. 0.8.0
Hierarchical key-frame optimizations Improves key-frame optimization quality by considering the full joints hierarchy while evaluating optimization error. 0.8.0
Support multi take importing Allows importing of all animations from a DCC file with a single command. 0.9.0
User channels Support for importing and sampling tracks of user data (float, Float3, Quaternion...). 0.10.0
Per joint compression setting Allow overriding of compression settings per joint. 0.11.0
Two bones IK Two bone IK solver for short joint chains that consist of three joints (two bones). 0.11.0
Aim IK Aim IK solver rotates a joint so it aims at a target. 0.12.0
glTF importing Supports conversion from glTF exchange format files to ozz binary runtime data structures. 0.13.0
Backward sampling optimization Optimize backward sampling of animations. 0.15.0
Random seek optimization Optimize seek time while sampling long animations. 0.15.0
Motion analysis and extraction Supports building of motion tracks, motion and leg cycles, foot movement, extracted from full animations. Next release
Animation retargeting Retargeting animations from one skeleton to another. To be planned
Gradient band interpolation A sample which demonstrates this 2 parameter blending technique. To be planned
Dual quaternion skinning Skinning technique that removes linear blend collapsing artifacts. To be planned

Features usage is demonstrated with the samples.

Os support

The run-time code (ozz_base, ozz_animation, ozz_geometry) only refers to the standard CRT and has no OS specific code. Os support should be considered for samples, tools and tests only.

Name Description Availability
Linux All samples and full pipeline support. 0.1.0
Windows All samples and full pipeline support. 0.1.0
macOS All samples and full pipeline support. 0.3.1
macOS arm All samples and full pipeline support. 0.15.0
emscripten/wasm Runtime and samples support. 0.5.0
Android Runtime and samples support. Unofficial support
iOS Runtime and samples support. Unofficial support
Nintendo Switch Runtime and samples support. Unofficial support