Page 1 of 4

SmartBody - a character animation engine for Irrlicht

Posted: Thu Sep 12, 2013 8:26 pm
by arishapiro
Image

All,

My team at the USC Institute for Creative Technologies has been working for a number of years on a character animation system called SmartBody. The goal is to create an extensive set of capabilities that are used by most virtual characters. We have recently integrated SmartBody with Irrlicht as seen here:

http://www.youtube.com/watch?v=ZZuDHg45 ... detailpage
Image

The system currently has an LGPL license, and we are interested in supporting the open source community.

The Irrlicht->SmartBody source example is located in the repository in the smartbody/sdk/win32/src/irrlichtsmartbody directory.
We will soon be releasing an SDK (about 200 mb). You can download the entire SmartBody code base from:
http://smartbody.ict.usc.edu/download

SmartBody provides the following capabilities:
* locomotion
* steering
* gazing
* automatic lip synchronization to speech
* reaching/grasping/touching/pointing
* gesturing
* head movements
* blinking and eye saccades
* breathing
* facial animation
* physics
* constraints
* animation blending
* automatic IK
* automatic retargeting

SmartBody is written in portable C++, runs on Windows, Linux and OSx, as well as Android and iOS platforms.
The system can be controlled or configured either via C++ or through our Python API.
The license is LGPL. The system is being actively supported and developed and is hosted at SourceForge.

The SmartBody website is located at:
http://smartbody.ict.usc.edu

and I have posted a number of videos showing SmartBody capabilities on YouTube. (http://www.youtube.com/playlist?list=PL38CB86DA1BC151F7)

Here are a few of interest:

Example-based locomotion:
http://www.youtube.com/embed/c5yGDVthcKQ

Gazing:
http://www.youtube.com/embed/OQTmbf8vOSk

Automated speech, gesture and head movements:
http://www.youtube.com/embed/sD7Q777wIaQ

Constraints:
http://www.youtube.com/embed/WDPcOVXo2lc

Eye saccades:
http://www.youtube.com/embed/IYCapPuo-O0

Interactive reaching and grasping:
http://www.youtube.com/embed/LCcPKRRH-8o

Full body IK:
http://www.youtube.com/embed/kxipMs7Z-RM

Lip syncing:
http://smartbody.ict.usc.edu/HTML/video ... IG2013.mp4

Pointing:
http://smartbody.ict.usc.edu/other/pointing.mp4


Please feel free to post in our forum:

http://smartbody.ict.usc.edu/forum

or to contact me directly at:

shapiro@ict.usc.edu

if you have any questions about SmartBody.

Regards,

Ari Shapiro, Ph.D.
Research Scientist
USC Institute for Creative Technologies

Re: SmartBody - a character animation engine for Irrlicht

Posted: Fri Sep 13, 2013 8:16 am
by roxaz
THIS-IS-SICK.

Seriously its one of the most incredible contributions to opensource 3d community i have seen, if not most incredible.
The World says Thank You

Re: SmartBody - a character animation engine for Irrlicht

Posted: Fri Sep 13, 2013 5:14 pm
by sodandk
This is very cool. We have been searching for some time for an animation system just like this, and then it drops into our hats :-)
Great contribution!
We will be looking at integrating this into our big game Build A World: https://www.facebook.com/BuildAWorld.net
We will creating a number of different avatars, so the user can customize their profile (how the look).

Re: SmartBody - a character animation engine for Irrlicht

Posted: Sat Sep 14, 2013 12:13 pm
by CuteAlien
It looks really great! I wish it had a somewhat more relaxed license (lgpl restricting static linking with proprietary apps conflicts with using it in closed source console development where shared linking isn't possible) - you couldn't maybe consider using something like Mozilla license instead (it still protects sources, but per source-file instead of per library)?

Anyway - thanks for the system, I'm sure a lot of people here will love it :-)

Re: SmartBody - a character animation engine for Irrlicht

Posted: Sat Sep 14, 2013 2:43 pm
by thanhle
Fantastic work. I wish I could do that.
When I first saw it at Ogre3D forum. I thought this should have come to Irrlicht as well. Now that it is here.
Awesome work Doc.

Re: SmartBody - a character animation engine for Irrlicht

Posted: Sat Sep 14, 2013 3:08 pm
by arishapiro
CuteAlien wrote:It looks really great! I wish it had a somewhat more relaxed license (lgpl restricting static linking with proprietary apps conflicts with using it in closed source console development where shared linking isn't possible) - you couldn't maybe consider using something like Mozilla license instead (it still protects sources, but per source-file instead of per library)?

Anyway - thanks for the system, I'm sure a lot of people here will love it :-)
We have been thinking about changing the license to a less restrictive one. Right now, you can get license for commercial use without restrictions by requesting it (email me to make arrangements).

Regards,

Ari Shapiro
shapiro@ict.usc.edu

Re: SmartBody - a character animation engine for Irrlicht

Posted: Sun Sep 15, 2013 3:02 am
by dialNforNinja
Oh... oh my... this is ABSOLUTELY EXCELLENT! If you're really giving away the unrestricted license for the asking, you might as well loosen it up overall anyway, though dynamic linking is fine for my own project. Do you have a logo for the package beyond just the text? Something like this, I'd be happy to add to the on-launch splash screens with Irrlicht, SFML, & Tokamak.

Re: SmartBody - a character animation engine for Irrlicht

Posted: Sun Sep 15, 2013 6:51 am
by hendu
I assume it's on the cpu? Do you have any performance numbers?

Re: SmartBody - a character animation engine for Irrlicht

Posted: Sun Sep 15, 2013 8:18 pm
by arishapiro
dialNforNinja wrote:Oh... oh my... this is ABSOLUTELY EXCELLENT! If you're really giving away the unrestricted license for the asking, you might as well loosen it up overall anyway, though dynamic linking is fine for my own project. Do you have a logo for the package beyond just the text? Something like this, I'd be happy to add to the on-launch splash screens with Irrlicht, SFML, & Tokamak.
We want to maintain some control over the code distribution, which is why we are requesting that people formally ask us for a commercial license (which would require some information about your project and what you intend to use it for), which lets us keep track of where the code is going. Please send me an email offline at: shapiro@ict.usc.edu for commercial interest that goes beyond the scope of LGPL.

You can find a SmartBody logo here:
http://smartbody.ict.usc.edu/HTML/image ... _small.png


Regards,

Ari Shapiro

Re: SmartBody - a character animation engine for Irrlicht

Posted: Sun Sep 15, 2013 8:21 pm
by arishapiro
hendu wrote:I assume it's on the cpu? Do you have any performance numbers?
Are you talking about the performance of the animation engine? Yes, it runs mostly on the CPU (we include a rendering application called sbgui which uses hardware skinning and processing, but isn't part of the animation library).

We haven't optimized it to run as many characters as possible. We have had experiments running 50-100 characters at once in real time, but we have been render-limited more than processing-limited. Some aspects run slower than others (for example, calculating steering paths or maintaining constraints). Much of the animation engine involves animation blending, which is fairly fast.

Ari

Re: SmartBody - a character animation engine for Irrlicht

Posted: Mon Sep 16, 2013 2:36 am
by dialNforNinja
arishapiro wrote:We want to maintain some control over the code distribution, which is why we are requesting that people formally ask us for a commercial license (which would require some information about your project and what you intend to use it for), which lets us keep track of where the code is going.
That does make some sense - if I ever get beyond a collectio of "things I want to use," barely functional modified demos, and lots of 3d models that have all the geometry but no textures because I figure out how to transform the next one (it's a variable aircraft/mecha game) and start modeling it before I forget, I'll email you about it, though as I say dynamically linking as LGPL allows should be fine for my purposes, and if I did manage to make any sort of improvement to the library myself sharing it with the community is something I'd be happy to do.

Re: SmartBody - a character animation engine for Irrlicht

Posted: Mon Sep 16, 2013 4:05 am
by ikam
Amazing, thanks for this.
I'll try to use it.

Re: SmartBody - a character animation engine for Irrlicht

Posted: Mon Sep 16, 2013 6:26 am
by chronologicaldot
AWESOME!
Gosh, and here I was thinking the only people interested in contributing to this engine where here on the forum. Thank you so much, Ari!!!!

Re: SmartBody - a character animation engine for Irrlicht

Posted: Mon Sep 16, 2013 1:40 pm
by CuteAlien
arishapiro wrote: We have been thinking about changing the license to a less restrictive one. Right now, you can get license for commercial use without restrictions by requesting it (email me to make arrangements).
Thanks - this is sounding better and better!

Re: SmartBody - a character animation engine for Irrlicht

Posted: Mon Sep 16, 2013 2:19 pm
by Nadro
This project is really great! :)