Motion Actuator design flaw


(Abracsis) #1

When making character based 3rd person games, which i’ve done alot, i find it a nightmare to get the physics right.

It seems there is no possible way to balance realistic gravity (without using a downward force motion actuator) with the speed your character moves accross the ground. And by speed i refer to acceleration/deceleration using Force. If I use, d/loc physics are not properly used, and velocity has a glitch that if you tap the key your character can speed up loads. also left and forward set velocity don’t like working in conjunction.
I know you can wright a script to solve this but:
one feature would solve this problem, which is a problem for alot of circumstances…simply if there was a limit velocity field, with the max speed an object can accelerate to.

Does anyone agree with this, because I think it’s a very valid point, especially when using non frictional surfaces. like a top view space ship game where you want to emulate inertia.

-And yes I realise how many responses i’m gonna get with “It’s simple just tweak these few settings” - my answer is no. I’ve tweaked for too long! so let’s have a limit velocity field so we can use force to have nice acceleration/deceleration and real physics, but so it doesn’t speed up to silly speeds once the initial friction of the surface is beaten.

-Luke

p.s this is not having a go at blender. I just don’t have much to do so i thought i’d whine for a bit :slight_smile:


(saluk) #2

Hey, that’s a good idea, I usually find that using LinV for force and drot for turning works well, especially with high damp values (.8 - .9 for damp; .999 for rot). Something like 10 for the linv and something small like 0.1 or smaller for rot generally work for me. But tweaking physics is very very hard, I agree, and some ability to limit values would be nice.


(Abracsis) #3

Saluk. Did you mean Torque with a high Rot Damp…That’s what I find works best because you still have slight acceleration, unlike drot.

LinV would be alright, but, it seems to have the bugs i spoke of in my first post. This is annoying when you want strafing + forward motion.

I can get the movement I want with a high Damp Value, and using alot of force. The damp value prevents too much of a top end speed. BUT

It also slows down gravity. so things fall so slowly
and if you jump off an edge, and let go of forward, your momentum has little effect before general damp stops you.
I feel that friction is supposed to be used to limit your speed. but this is practically impossible to tweak to a desired character movement pace.

-Luke


(saluk) #4

Right, cause when the character jumps, suddenly he moves forward fast again. No, I meant drot, because for characters, I don’t like to accelerate when I’m turning. I like my turning to be pretty instant and precise - when I stop turning, I want him to stop. Linv in general works better for me than force, but I’ve never tried combining them at once. I think if you use python to force your actions it doesn’t have any problems.

And I forgot about damp slowing down falling, the only way to counter this is with extra force downwards. I usually don’t have jumping, so I forgot about this. Blender’s physics need some serious (hard coded) tweaking.