Animation Graph Microservice

Description

The animation graph microservice runs an animation graph and sends the resulting avatar pose in the form of animation data to a downstream microservice (e.g. Omniverse renderer microservice). In addition, it can also receive animation data including audio from various animation sources (e.g. A2F microservice) and can compose a new avatar pose with the animation graph. Moreover, it also offers a REST API to set animation graph variables that allow a controller to change the animation graph state machine.

Usage

The UCS microservice name is ucf.svc.ia-animation-graph-microservice.

The microservice supports various configuration parameters that are defined in the microservice manifest.

Supported Platforms

  • CPU: x86 compatible

  • Linux (e.g. Ubuntu 22.04)

Performance

Minimum Hardware Requirements

  • 4 GB available system RAM

  • 4 core CPU

  • 1 NVIDIA RTX-compatible GPU

  • 1 GB of GPU RAM

  • 5 GB of SSD space

Versions

  • This microservice is based on kit-kernel version 105.1.2+release.135279.09b309e7.tc.linux-x86_64.release.

License

NVIDIA Proprietary License

Deployment requirements

  • Animation graph is a CPU-based solution, but currently it requires a RTX-compatible GPU to start.

Known Issues / Limitations

  • NVIDIA driver version 545 is currently not supported. We recommend driver version 535.

  • The animation graph microservice uses an internal animation data buffer for the incoming data from the A2X microservice. The size of this buffer is controlled with the IAAGMS_ANIMATION_SOURCE_BUFFER_SIZE environment variable. The smaller this buffer the lower the latency, but at the same time the resilience to jitter also decreases. Depending on the deployment environment you might observe audio stutters when this buffer is too small. We recommend a buffer size of 0.3 seconds and depending on the use case you can try lowering this value to 0.1 seconds.

  • The animation graph microservice has a memory leak. The memory growth rate is about 250MB per hour. The root cause has not yet been identified.