SmartBody (http://smartbody.ict.usc.edu) is a character animation platform developed at the USC Institute for Creative Technologies (http://www.ict.usc.edu) by the Character Animation and Simulation research group.
SmartBody provides the following capabilities for a digital 3D character in real time:
- Locomotion (walk, jog, run, turn, strafe, jump, etc.)
- Steering - avoiding obstacles and moving objects
- Object manipulation - reach, grasp, touch, pick up and point at objects
- Lip Synchronization and speech - characters can speak with lip-syncing using text-to-speech or prerecorded audio
- Emotion and facial expression
- Gazing - robust gazing behavior that incorporates various parts of the body
- Nonverbal behavior - gesturing, head nodding and shaking, eye saccades
- Animation blending
- Character physics - ragdolls, motion tracking
- Animation constraints - alter character behavior to maintain contact or orientation constraints
- Retargeting - transferring motion from one character to another either offline or in real time.
- Automatic rigging and skinning - automatically adding a skeleton and skin binding information to a humanoid model.
Whereas game engines are focused on rendering, scene management, particle effects and so forth, SmartBody is focused on various behaviors and capabilities of an interactive character. Thus, SmartBody can be thought of as a character animation platform that is compatible with existing game engines.
SmartBody is written in C++ and can be controlled using the Python scripting language or any programming language that can access C++. SmartBody includes it's own viewer and 3d renderer and be run as a standalone system, or incorporated into a game or simulation engines. We currently have interfaces for the following engines:
- Unity
- Ogre
- Irrlicht
- Panda3D
However, it is straightforward to adopt SmartBody to other game engines as well using the C++ or Python API.
SmartBody can be built for the following platforms:
- Windows
- Linux
- OSx
In addition, we have experimental ports to the the following mobile and web platforms:
- Android
- iOS
The platform is distributed under the LGPLv3 license. If you would like to incorporate SmartBody into a commercial product and need use of SmartBody outside of LGPLv3 restrictions, please contact us to make such arrangements.
SmartBody is a Behavioral Markup Language (BML) realization engine that transforms BML behavior descriptions into real time animations.
The SmartBody website is located at:
Questions, answers and comments about SmartBody can be posted on the SmartBody forum:
http://smartbody.ict.usc.edu/forum/
If you have any other questions about SmartBody, please contact:
Ari Shapiro, Ph.D.