Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Working with ODE

Sign in to follow this  


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]

Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!