Deforming an object in real-time with armatures...

Ok, I have a problem with armatures and objects deforming in the game engine, how do I make so that other objects are effected by the deformation… For example I have a robot arm blocking my way to the a path. I press space the robot arm moves away. I try to go throw the wall, but it doesn’t seem to let me go past. Like an invisible wall is blocking me… So basicly I want to be able to change the bounding box according to the deformation of the object by the armatures. If you want an example .blend here:

http://filebin.ca/nhmqwc/Armature.blend

Space to animate the wall, up and left arrow to move the cube… I have the physics on so you can see the bounding box. I pressed spaced to see what happened to it, and you know what? It didn’t do a damn thing… lol

Hope there is an answer to this, an option somewhere in blender, but if there isn’t my last resort is to parent cubes to the bones and make the armature the deforming object ghosts… then I’ll have a plane at the bottom so it does fall through the ground.

Thanks for your support guys,
Linkxgl

My workaround is to make your original rigged mesh a ghost (no collision) but then to add another cube to the end arm bone as physical boundary, which is set to invisible.

I am new to the Games Engine and will also be interested if there is a way of activating collision on a fully armatured single mesh as you have been trying.

Attachments

Armature2.blend (37 KB)

Cool, but wouldn’t it be easier, but to make the armature and the original mesh ‘no collision’ because setting it to ghosts is kind of redundant since they’re no going to do anything any ways…

It’s a good idea, but I was trying to get ‘around’ doing this, because it takes up a lot of resourses… : /

Physics meshes are calculated before runtime, so whatever pose your object started in, is the pose physics will think it is holding for the rest of the game. As far as I know the only way to have collision with an armature’d object is to add physics objects.
One thing you can do for your specific case that’s probably more efficient is to add an invisible wall object, an when the arm moves out of the way, have the wall object destroyed (end object actuator, or endObject() in python. That just means the wall doesn’t have to calculate the position of the armature, and when the armature is moved collisions with the wall are no longer calculated at all.

The wall thing was just an example for it, but what I want to do is to be able to have a huge monster that my player can climb on… So it seems I’m going to have to use boxes to cover the arms, legs, body, head :confused: I was hoping there was an option to enable lol… Oh well thanks for you help guys and thanks for all the support you guys have givin me in the past :smiley:

Linkxgl :rolleyes:

Maybe theres a way to parent an object to the giant monster while they press a button, Shadow of Collossus style? Then just play an animation that looks like the character is hanging on to it…?