Working with ODE

Published April 23, 2005
Advertisement
So, I have been incorporating ODE into my engine, I even contributed some autotools code to the project, and I am reviving the FreeSOLID library for collision detection in hopes to incorporate it into ODE.

My motives for adding ODE were simple, I just couldn't get my collision responce code to work as I wanted, after adding ODE, it got better, but movement was really messy, no matter what, my player entity slipped, and some other stuff.

I didn't like the options presented, they all sounded like a kludge, and then I found this.

The bright light of enlightment is right on the first paragraph. Basically, use a dGeom, but dont use a dBody, and handle movement and collision reaction yourself, this way you get the benefits of the physical sim without dealing with hacks and approximations in order to get your character to move right, hey! if it works for BloodRayne 2, probably works for my engine too.

Anyway, the way ODE works, there is a dCollide function that returns a collection of collision points that contain a normal and a depth , if you move your object along that the "normal" by the amount of "depth", you no longer have have a collision, so, I am thinking, acumulate all those for a single step, add them once there are no more comming in, then divide by the amount of collision points, use that to move the object, wash, rinse repeat.

I'll do it and then post my results. [smile]



0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement