Once again, we want to highlight one of the many great projects from the Ogre3D eco-system, this time a character animation platform from the University of Southern California’s Institute for Creative Technologies. But read for yourself and give it a try.

SmartBody is a character animation platform developed at the Character Animation and Simulation group at USC Institute for Creative Technologies, led by Ari Shapiro with Andrew Feng.

Unlike game engines which are primarily focused on rendering and management of game assets, SmartBody focuses on the animation and simulation of a virtual character, and provides the following capabilities in real time:

  • Locomotion (walk, jog, run, turn, strafe, jump, etc.)
  • Steering – avoiding obstacles and moving objects
  • Object manipulation – reach, grasp, touch , pick up objects
  • Facial expression – characters can express emotional content via joint-based or shaped based rigs, including softeyes
  • Lip Syncing – characters can speak with simultaneous lip-sync using text-to-speech or prerecorded audio
  • Gazing – robust gazing behavior that incorporates various parts of the body
  • Gesturing – including coarticulation of gestures
  • Nonverbal behavior – head nodding and shaking and saccadic eye motion
  • Character dynamics – ragdolls and tracking of kinematic motion
  • Parametric motion blending uses various blending methods such as RBF, KNN and inverse blending.
  • Full body IK with constraints
  • Online and offline retargeting of motion
  • Automatic skinning and rigging of 3D humanoid models

SmartBody can be built and run on Windows, Linux and OS X platforms, as well as Android and iOS. SmartBody can also be built for the Flash platform. SmartBody is written in C++ and can be incorporated into most game engines. Scripting in SmartBody is handled via Python.

The SmartBody platform has been using the Ogre for many years as a 3D rendering platform. SmartBody incorporates Ogre in its user interface tool, sbgui, as well as for desktop and mobile application rendering. SmartBody also reads various Ogre XML formats for skeleton definitions, animations and binding information.

The SmartBody code base is licensed under LGPLv3, and the code or SDK can be downloaded at:

For other questions about SmartBody including licensing, please contact Ari Shapiro at: shapiro@ict.usc.edu

Feel free to check out some of their video showcasing their work: