Extension: omni.usd.schema.anim-0.0.1 |
Documentation Generated: Nov 13, 2025 |
Overview#
omni.usd.schema.anim provides USD schema definitions for animation, skeletal systems, and retargeting workflows. This extension defines the fundamental data structures and APIs needed to represent curve-based animation, skeleton hierarchies, joint constraints, and animation retargeting within USD scenes.
Key Components#
Animation Schema Module#
The AnimationSchema module provides core animation data structures and curve management capabilities. AnimationCurveAPI serves as the primary interface for managing animation curves, offering methods to create, query, and manipulate keyframe data. It supports various tangent types including auto, linear, smooth, and step interpolation modes, along with infinity behaviors like cycle and oscillate for extending animation beyond keyframe ranges.
AnimationData represents curve-based animation data as a USD prim, while AnimationDataAPI allows any prim to link to AnimationData through relationship bindings. The Key and Tangent classes define the fundamental building blocks of animation curves, storing time-value pairs with configurable tangent properties for smooth interpolation.
SkelAnimationAnnotation creates time-based annotations for skeletal animations, allowing developers to mark specific animation segments with tags and time ranges. SkelJoint extends USD’s geometric primitives to represent skeleton joints with additional visibility controls.
Animation Schema Tools Module#
AnimationSchemaTools provides utility functions for manipulating animation data programmatically. Key functions include AddCurve, AddKeys, and SetKey for creating and modifying animation curves, ComputeTangent for automatic tangent calculation, and GetKeys and GetAllKeys for querying keyframe data.
The module also includes session management functions like RaiseTimeSamplesToEditTarget and SwitchEditTargetForSessionLayer for handling edit contexts during animation authoring.
OmniSkel Schema Module#
OmniSkelSchema extends USD’s skeletal system with Omniverse-specific joint definitions and constraints. OmniJoint provides a comprehensive joint representation with bind, rest, and retarget transform properties for animation workflows.
The module includes specialized joint shape APIs (OmniJointBoxShapeAPI, OmniJointSphereShapeAPI, OmniJointCapsuleShapeAPI) for defining joint visualization geometry, and OmniJointLimitsAPI for constraining joint rotation ranges with swing and twist angle limits.
OmniSkeletonAPI defines skeleton-level properties including forward and up axis orientation, while OmniSkelWeightedBlendAPI provides blend weight authoring for advanced skinning techniques.
Retargeting Schema Module#
RetargetingSchema enables animation transfer between different skeletal rigs. AnimationSkelBindingAPI establishes source skeleton relationships and provides methods for computing retargeted joint transforms through ComputeRetargetedJointLocalTransforms and BakeRetargetedSkelAnimation.
ControlRigAPI defines control rig metadata including joint tags, IK targets, and retarget transforms, enabling sophisticated animation retargeting workflows. JointConstraint represents individual joint constraint definitions with swing and twist parameters.
Relationships#
The extension builds upon the omni.usd.libs dependency to integrate with USD’s core functionality. The five modules work together to create a comprehensive animation system - AnimationSchema provides the fundamental curve data structures, AnimationSchemaTools offers manipulation utilities, OmniSkelSchema extends skeletal definitions, and RetargetingSchema enables cross-rig animation transfer. RetargetingSchemaTools provides additional utilities for retargeting workflows, complementing the schema definitions with practical manipulation functions.