4

I've been working for the past four days on inverse kinematics for my game engine. I'm working on a game with a shoestring budget so when the idea of inverse kinematics came up I knew I had to make it such that the 3D models bones would be mathematically changed to appear to be stepping on objects.

This is causing some serious problems with my animation, after it was technically implemented the animations started looking quite bad when the character was wlaking up inclines or steps even though mathematically the stepping was correct and was even smoothly interpolating.

So I was wondering, is it actually possible to get a smooth efficient inverse kinematic system based exclusively on math where bones are changed or is this just a wild goose chase and I should either solve the inverse kinematics problem with animation blending or don't do it at all?

antonakos
  • 7,983
  • 2
  • 29
  • 34
meds
  • 17,850
  • 30
  • 131
  • 265

2 Answers2

2

Definitely solve it with animation blending. Its far easier. Also bear in mind that you may have to enforce limits on what is acceptable because sometime you may break the animations through outrageous IK movements. Constraints are your friend.

Alas, I can't go into much more detail as the maths behind IK has always left me dribbling ;)

Goz
  • 58,120
  • 22
  • 114
  • 192
2

First you have to study how everything works. Take a look at Assassin's creed. Correct me if I'm wrong but I think it was the first game to ever implement inverse kinematics. It uses a piece of software from autodesk to do that. As Goz said, using constraints can very much improve the quality of your animation blending but you should also use inverse kinematics only when necessary.

Sanctus2099
  • 1,621
  • 5
  • 22
  • 40
  • IK has been used in games a whole lot longer than AC... Even Guitar Hero used IK. It's probably used a lot more frequently than you expect. – ColinCren Jul 18 '12 at 18:28
  • That's true but it's not like in Guitar Hero they have to use a lot of CPU. I was talking about AC because there there is a very complex world with a lot of parallel simulations. I know I read that AC was the first one to use IK (or maybe it was about Autodesk's library). – Sanctus2099 Jul 19 '12 at 08:08