IK solver walk cycles

Apologies if this has been posted before but I’ve been poking around here for ages and still haven’t found the answer…

I’ve set-up my character and have animated him with an IK walk cycle. All works fine when I press P but when I Save Runtime his legs disappear.

I’ve seen posts that say the GE doesn’t support IK solvers, which may explain why the legs disappear. I have also read stuff about baking the actions… which is all well and good but once you delete the IK bones it all goes wrong.

Is there a way to animate with IK in the game engine, baking or not, or is it a complete waste of time?

Thanks a lot!

I think you are doing it right…

it sounds like you may have the legs on another layer, try moveing all the armature bones to layer 1.

Everything is on layer 1… It looks as though the legs may be there but perhaps they are stretched and deformed so much that I can’t see them… there is a bit of flickering going on!

It’s fine in Blender but when I save runtime it’s not working?!?

So you can use IK Solvers then?

I haven’t tried IK solvers for a long time. They didn’t work when I did. Sounds like it’s getting closer. I click the automatic IK button off and on and seperate the arms and legs from the backbone but parent them. I think I’m going to try connected shoulder bones next time and then seperate at the arm. I’ve never tried baking.

His legs are not directly joined to the backbone, but parented. I’ve also tried this with a single leg on it’s on (to test). Works fine in Blender but disappears on Save Runtime. I’m guessing this is because IK solvers don’t work, but I can’t find a definitive answer.

If they don’t work, it seems strange that they work when you press P. I thought this was what you’d get when you save run time, but it’s obviously different. The lighting appears different too so this would back up my theory. :frowning:

I’ve never used the auto IK button before but it seems that it doesn’t do the same job as proper IK so I don’t think that’s gonna help.

Maybe you forgot some small, simple thing like it allways happens to me, like pack data or something like that. don’t know, try posting a blend file so someone could take a look and help you better!

Ok, I haven’t posted the actual file as I need to reduce the res of the textures and everything to make it a lot smaller but here’s a test file that is doing the same thing:

In Blender, Press P and everything is fine. Save Runtime and you’ll only see the foot. I don’t think it’s to do with pack data as there are no textures here.

yes I believe that BlenderPlayer.exe has slight differences compared to the player inside of blender. for me most of these differences have been possitive ones such as more correct lighting and tangent vectors. but… Up until now I thought that IK was not possible in game (not even when played in blender)

This is very interesting to me because even many next generation engines do not have full support for realtime IK (there are a few exceptions).

If this bug can be fixed then I think it could have huge potential.

So, where do we go from here? I’m always keen to use IK for walking because I can’t get the walk cycle right with FK.

If someone could explain tangent vectors then that would help improve my knowledge too.

LMAO dude the tangent vectors have nothing to do with what you are currently talking about. Tangent vectors are used in GPU programing. Dont worry about them for now. When you start making high end visual assets for your game then ask.

The IK functionality is implemented but broken. Later today I will see what I can do with the source. but its not likely I can get a patch out soon. I may mess with a few other things to improve consistency between BlenderPlayer and Blender.

If I get the IK working I want it to be used. God I can already see how big this could be for AI. Realtime IK can be big I want it to be used to its full potential.

Oh I also want to fix the setChannel() for moving bones with python. This could be used with the IK to move the hands to grab objects or the feet to kick a ball in a very realistic way without needing to be pre-animated.

Woah… sounds like you really know what you’re on about! Don’t forget to initialize the trans-dimensional buffer for the primary vertical-cortex membrain which will enable the partially inverted power output to hit 64.

If you need my help on that, just ask! :wink:

Seriously though, thanks for your help. Let me know if anything comes of it!