First game need help making gravity for armature bound characters.

What’s the easiest way to make realistic gravity for characters with armatures? I’m stuck and I don’t know what to do. Help a novice out please, thx. :wink:

Gravity is ON by default in BGE. You probably have problems with object-armature-parenting thing.

The basic few steps I always do for my characters is:
-Make the character mesh
-Make the armature
-Make a bounding mesh (a Cylinder in most cases)

-Select the character mesh, make it “No Collision” and parent it to the armature (don’t parent it to your armature if you are using modifiers to control the deformations, parent it to a bounding mesh instead)
-Select the armature, make it “No Collision” and parent it to the bounding mesh
-Select the bounding object and make it “Dynamic”

There are a few things you have to watch out for, the character mesh and the armature must always have their centers in the same place.

Hope this helps you.

@ Josip,
When I’m programming the logic bricks for movement do I do it for the bounding mesh or the character mesh? thx

Do all your movement ( using the motion actuator) on the bounding mesh and all your animations( action actuator ) on the armature.

Hi guys,
Thanks Josip for your advice so far, it’s all good.

I’m having a related problem with a simple game I’m working on. I know it is a setting that is incorrect, but as I’m a novice I can’t be sure which one.

I’m using blender 2.56.0

I was following a game engine tutorial by david ward, you can see here if you like:

So, i have the base mesh parented to the armature (as you’ve described)
the armature parented to the bounding box (as you’ve described)
logic bricks apply to bounding box (which moves around)

currently, i can walk fowards, backwards, run, turn. no problem

now for jumping :slight_smile:

the problem i have is when i apply dynamic physics to bounding box and start the game engine, it goes absolutely bonkers! my character just whizzes off into space OR if i change the setting on the ground plane object, he just kind of slides through it, like it isn’t there.

i’ve attached some screens of the physics settings. i am DYING to know where my error is.:o


The tutorial you are following is very good and covers most of the stuff you need.
From you screenshots, everything seems fine. Just disable the Actor option on the skeleton, and enable the Collision Bounds on the bounding box.

The problem you have is very common for beginners and occurs when you have one object inside another.
Do you have MSN or something so we can talk in realtime?

yep, i have google talk

my user is ‘seriousblackness’

i will try those changes out and see, thanks

hum, no luck after making those changes

it does behave differently but still really weird.

if i change the collision bounds type or ‘shape’ then it behaves differently with each one… but in each case it’s not at all what i would expect. various degrees of bouncing around and flying away. with the ‘cone’ shape it behaves almost normally…

except when i first start the game engine, i shoot up into the air and slowly come back down. then it’s almost as if i would expect, but if i try to walk it’s as if the surface is very slippery, like ice, and i slide around on it. or, if i build up some momentum and then stop, i keep sliding.

so weird! i hate being ignorant…

man, this is frustrating… i made some .flv videos to demo the problem and i can’t upload them…


can you send my your blend file, just the character setup. I send’t you an invitation on Gtalk

thanks a lot for the help Josip, i was really stuck. five stars.


Hey Josip,

I followed ur instructions, Josip (parented no collision player model to no collision armature and armature to dynamic cylinder), but now my the whole rig flies off diagonally defying gravity. What is the problem, how do i fix this?

Ok never-mine, I fixed the gravity problem, but now I need to make the bounding cylinder invisible in game engine.

@Apophis: Just toggle the little camera icon next to your bounding box in the outliner. This sets it to not render.