Just discovered SmartBody, a LGPL licensed C++ library that “provides locomotion, steering, object manipulation, lip syncing, gazing, nonverbal behavior and retargeting in real time.”
I promptly added it to our GSoC Ideas. The steering and pathfinding seems a bit much to me (I hope it’s easy to leave out), but the dynamic animation features are mighty impressive:
@nehon: Then I will be more than interested in it.
Re-targeting for a same topology is not so difficult though; retargeting on two different topologies require a extraction phase and can be direct with meta infomation in the skeleton. But after re-targeting the animation can be not very meaningful because of the bone rescale or the bone dragged problem.
I also have some experiments by implement & port from this paper:
By port I mean i review the code which he imlement in Blender before, it’s quite clean and I also have some progress at the time.
About Smartbody is worth the investigate for a C++ application may be… but in fact depend on an externel C++ base is not a wise choice for Java application. We can use it via its API, or just do an AIEngine like in the other thread.
I myself prefered the option B, since I’d like to write my own corporated animation and AI framework,Not generated animation from AI. About locomotion, I bet you heard of this one: https://code.google.com/p/cartwheel-3d/
Internally, I ported Unity Locomotion System, which is also open-source in C# to Java and use it privately. The project actually not belong to Unity at that time, but the guy write it join unity after a year… To use another engine solution is not so nice for the reputation so I didn’t release it any where. You still can also review it if you like, for studying purpose…