Hi all,
I am new here. Just a few questions regarding collision and contact handling in Bullet.
1. Are collision and contact handled distinctly in Bullet? For example, first collision processing and then contact?
2. I assume collision modeling is based on impulse, what about contacts? Is it contact force/constraint based? Or impulse-based as in collision step but with a zero restitution coefficient?
Thanks,
Bin
A general question regarding Bullet
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
Re: A general question regarding Bullet
What do you mean by 'collision' and 'contact' exactly?bssrdf wrote:Hi all,
I am new here. Just a few questions regarding collision and contact handling in Bullet.
1. Are collision and contact handled distinctly in Bullet? For example, first collision processing and then contact?
Bullet uses a constraint based approach to solve all constraints. It uses an iterative LCP constraint solver to solve those constraints known as Projected Gauss Seidel (or sequential impulse). This is not the same as Brian Mirtich's 'impulse based' approach.2. I assume collision modeling is based on impulse, what about contacts? Is it contact force/constraint based? Or impulse-based as in collision step but with a zero restitution coefficient?
For each contact point, Bullet solves velocity constraints and positional (penetration) constraints. Positional constraints can be solved using Baumgarte stabilization (introducing a velocity error) or position based (effectively solving a separate positional LCP solve, also referred to as 'split impulse' in these forums.
Hope this helps,
Erwin
-
- Posts: 4
- Joined: Mon Nov 23, 2009 8:07 pm
Re: A general question regarding Bullet
By 'collision' and 'contact', I mean colliding contact and resting contact, respectively.Erwin Coumans wrote:What do you mean by 'collision' and 'contact' exactly?bssrdf wrote:Hi all,
I am new here. Just a few questions regarding collision and contact handling in Bullet.
1. Are collision and contact handled distinctly in Bullet? For example, first collision processing and then contact?Bullet uses a constraint based approach to solve all constraints. It uses an iterative LCP constraint solver to solve those constraints known as Projected Gauss Seidel (or sequential impulse). This is not the same as Brian Mirtich's 'impulse based' approach.2. I assume collision modeling is based on impulse, what about contacts? Is it contact force/constraint based? Or impulse-based as in collision step but with a zero restitution coefficient?
For each contact point, Bullet solves velocity constraints and positional (penetration) constraints. Positional constraints can be solved using Baumgarte stabilization (introducing a velocity error) or position based (effectively solving a separate positional LCP solve, also referred to as 'split impulse' in these forums.
Hope this helps,
Erwin
I am interested in implementing an impulse-based approach for resting contacts in Bullet. I am wondering if it is easy to do so. Is collision cleanly separated with contact handling in Bullet?