Jump to content
  • Advertisement
Sign in to follow this  

rigid body response behaviour

This topic is 1306 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So I have been wrapping my head around how I would perform response upon collision in my physical actors. So far I have nailed down my dynamic actors into boxes and their composites. And I have no idea what computational/data design I should use in order to have proper collision response. I have following description of my actors:


- velocity vector

- innertia tensor position

- rotation velocity quaternion


I have no idea on how to implement correct friction, movement initiation, tendence, forces from collision points. In fact I do not have even a concept of the theory.


Are responses in physical engines really procedural or they often fall back to some explicit situation describers to simulate real world AAA behaviour?

Share this post

Link to post
Share on other sites

The standard (for rigid bodies) is to form a system of linear equations and solve them. This can come down to finding an efficient way to invert a conceptually large matrix. Erin Catto's 2005 paper "Iterative Dynamics with Temporal Coherence" (found on the Box2D's google download page) describes mathematics behind this.


Usually to solve a collision a point of contact is required, along with a unit vector describing the axis of least separation, and a scalar describing overlap. Usually the narrow phase collects this information, or in other words, you can get this info during collision detection.


Box2D *Lite* (the Lite part is important) is usually the best place to get started, and can be found at Box2D's website.


Pre-scripted physics sequences are also used. For characters other forms of animation are used too, like forward and inverse kinematics.

Edited by Randy Gaul

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!