Jump to content

  • Log In with Google      Sign In   
  • Create Account


We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.

Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!

Programmatic walk animation

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 nikitablack   Members   -  Reputation: 614


Posted 03 October 2011 - 01:55 AM

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?


#2 Buckshag   Members   -  Reputation: 578


Posted 03 October 2011 - 08:12 AM

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 :)

#3 Olof Hedman   Crossbones+   -  Reputation: 2955


Posted 03 October 2011 - 08:37 AM

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"

#4 Buckshag   Members   -  Reputation: 578


Posted 03 October 2011 - 08:46 AM

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.

#5 nikitablack   Members   -  Reputation: 614


Posted 04 October 2011 - 12:46 AM

Buckshag, thanks for exhaustive answer.
Olof, I think that fully procedural animation gives more control and behaviour. Maybe I'm wrong - I'm total noob in animation.

#6 Olof Hedman   Crossbones+   -  Reputation: 2955


Posted 04 October 2011 - 03:41 AM

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.

That said, euphoria is pretty amazing :)

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.