This page lists implemented features and plans for future releases.
| 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.
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 |