Awesome stuff man! - it's a complex topic and there's no 'right' way as such - if it looks and feels good - be happy I have an implementation of a similar, perhaps older method in my engine but it's not robust yet, still gives some odd results now and then - I've also done work on an implicit skinning implementation (https://vimeo.com/105364564) that would go hand in hand with this for some truly next-gen character animation! but it's just for research - DQ/LBS for now.
The euphoria engine produces similar results to this but from what I understand it works in a very different way - that's a trained neural network with full contact support - no 'fix-ups' are needed - the animations from the network don't produce intersecting results as in euphoria there would be collision and the character would trip and likely fall.
However euphoria requires training for a given body - it can't 'learn' from existing animation cycles as such - they can be used to train the network, provide joint forces etc so the network can become better by using them as an input but euphoria isn't aware of them - it doesn't know what 'feet' are - a Euphoria training session without user guidence might produce a character that tried to break its fall by throwing its head as quickly as possible at the ground - the cool effects in Euphoria are emergent properties of a trained neural network and in fact without such a system you're aaaalways going to have odd behaviour now and then - but I think with proper joint constraints and some way of defining a point of failure - a time to go rag-doll - it'd be good enough for games
Alas we don't know have any code samples
Bookmarks