Hello. I'm looking for resources about procedural animation and environment interaction. All links from the web go to famous http://runevision.com/thesis/ but it's not what I'm for. I need a fully programmatic system - maybe muscle based animation. But I don't now how to call it correctly (my english is poor). To be more precise - I want to build simplified animation system like one in http://www.naturalmotion.com/ or Overgrowth, or Assasins Creed. So, what the name for such animation types, and maybe some links?
These kind of animation system are often called physical based animation systems.
You can see it as a physics ragdoll, which also has specified muscles, which are basically motors.
So let's say you have a knee joint that can rotate a given amount of degrees over one axis. And you specify the same for a bunch of other joints.
Now you could specify a goal you try to reach, for example to make the character walk, you have to say something like:
"for every time one of your feet hits the ground, you get 1 penalty points. And for every meter you move forward, you get 1 reward point.".
Now from this point on there are several possibilities. Different AI algorithms can be used to iteratively try to find the most optimal solution, to achieve the maximum reward amount. Each iteration, which is also called a learning or training phase, the character will walk better. In the beginning it will start with random rotational forces on the motors, and it will directly fall on the ground. But slowly it will maximize the reward and your character can walk.
As you can imagine though, it is pretty tricky to use this in games, because each game might need different "behaviors" or however you wish to call them. Like a walking behavior needs to be trained with a given reward structure, but a balancing behavior would need something else again. Also the walk animation won't look as natural as a motion captured animation.
This kind of technology is often used in Robotics, where people train their robots in offline simulations, so that they don't damage the real robots. I've also seen it being used by dinosaur researchers, where they try to figure out how specific dinosaurs would have walked/moved, and how fast they could have be.
Some things you might google for are "physically based character animation", "machine learning" and "reinforcement learning".
I hope this information helps a bit with getting you started
Why do you think you need a fully procedural system?
What is it that you feel is not possible to achieve using the "semi-procedural" system?
IMO, having your 3d models learn to walk from scratch in a simulated physical environment sounds way overkill for a game, and very hard to control enough to make your gameplay interesting and/or achieve the visual designer's vision.
naturalmotion is a good example of a "semi-procedural" system, based in part on animation blending, and in part things like Inverse Kinematics and muscle simulations.
But I'm pretty sure they do _not_ simulate muscles for walking, more things like "I'm holding something heavy while playing this walk-cycle animation"
Just for the record, Natural Motion has two products: One using animation blending (Morpheme) and one using the physics+ai based animation (Euphoria).
They are two different things. I think he is asking for the physics+ai one.
I agree though, its use is really limited and it won't look as good as you can achieve with blending and mixing that with some physics.
But it is of course more interactive and can be nice for some purposes, but it is not the way to go for in-game animation right now for any regular game.
Afaik, euphoria is still mostly for special effect, that is, a ragdoll on steroids.
Not so much for general control, there you still need the animation blending+IK to create a good result that won't look like the character has some central nervous system problem.