Pixar's notes on Rigid Body Simulation (2001) [pdf]
graphics.pixar.com
Pixar's notes on Rigid Body Simulation (2001) [pdf]
1–10 of 28 posts
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#2Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#3For a more advanced approach, see [1], [2]. [1] https://ieeexplore.ieee.org/abstract/document/6907751 [2] https://mujoco.org/
For example, Mujoco uses a soft contact model where penetrations can happen, this can be undesirable for some use cases but might not really matter for most people. Mujoco also assumes every object in the simulation to be defined beforehand and remain static. This is good for performance (since memory can be preallocated beforehand, some values can be precalculated, etc.) but the drawback is that it's hard to dynamically add/remove/change objects in your simulation. In overall, Mujoco is fine-tuned and intended to be used in robotics simulations, and might have some undesirable properties when used in other applications like games and 3D animation.
Although Baraff's notes for rigid body simulation are more than 20 years ago, it's still roughly the same method used in most game physics engines (PhysX, Havok, Bullet, etc.). It struggles with modelling accurate friction (you can't do that much with LCP constraints), and the contact solver can be unstable at times (especially when CCD comes into the picture), but it's still really performant and "realistic" enough for a wide variety of games and animation.
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#4For a more advanced approach, see [1], [2]. [1] https://ieeexplore.ieee.org/abstract/document/6907751 [2] https://mujoco.org/
Note that there are multiple approaches to implementing rigid body simulation (especially when it comes to resolving collisions), and each of them all have their benefits and disadvantages. For example, Mujoco uses a soft contact model where penetrations can happen, this can be undesirable for some use cases but might not really matter for most people. Mujoco also assumes every object in the simulation to be defined…
Impulse-constraint systems have a "boink" problem. Velocities change instantaneously. This looks OK for small objects, but bad for large ones.
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#5For a more advanced approach, see [1], [2]. [1] https://ieeexplore.ieee.org/abstract/document/6907751 [2] https://mujoco.org/
Note that there are multiple approaches to implementing rigid body simulation (especially when it comes to resolving collisions), and each of them all have their benefits and disadvantages. For example, Mujoco uses a soft contact model where penetrations can happen, this can be undesirable for some use cases but might not really matter for most people. Mujoco also assumes every object in the simulation to be defined…
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#6A long time debian user, I found renderman to be ridiculously awesome. The scale of which a frame can render across a network of random machines…
Not to mention the graphics problems they have solved and optimized to bring to the entertainment industry. It’s like if mathematicians and artists were combined into the head of a hydra.
They have more papers out there.
We take for granted today the problems Pixar and co faced in the 90s. Only now we do it at 300fps.
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#7If anyone is interested in a way to take tangential compliance into account my thesis may be of interest:
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#8Pixar is one of those companies I admire. Not just because they make amazing stories, but because they make amazing tech. A long time debian user, I found renderman to be ridiculously awesome. The scale of which a frame can render across a network of random machines… Not to mention the graphics problems they have solved and optimized to bring to the entertainment industry. It’s like if mathematicians and artists were…
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#9Pixar is one of those companies I admire. Not just because they make amazing stories, but because they make amazing tech. A long time debian user, I found renderman to be ridiculously awesome. The scale of which a frame can render across a network of random machines… Not to mention the graphics problems they have solved and optimized to bring to the entertainment industry. It’s like if mathematicians and artists were…
Re: Pixar's notes on Rigid Body Simulation (2001) [pdf]
#10Earlier quoted context omitted.
Note that there are multiple approaches to implementing rigid body simulation (especially when it comes to resolving collisions), and each of them all have their benefits and disadvantages. For example, Mujoco uses a soft contact model where penetrations can happen, this can be undesirable for some use cases but might not really matter for most people. Mujoco also assumes every object in the simulation to be defined…
I was doing spring/damper collision ragdolls in the late 1990s.[1] Slower, but more accurate. Friction works. Not real time back then, though. Not enough CPU power yet. You can be too early. Impulse-constraint systems have a "boink" problem. Velocities change instantaneously. This looks OK for small objects, but bad for large ones. [1] https://www.youtube.com/watch?v=5lHqEwk7YHs
The impulse/velocity-based contact model allows to model arbitrary soft contact (using contact force mixing (CFM) and error reduction parameter (ERP) terms), similar to spring-damper or MuJoCo-style contact (for MuJoCo see https://mujoco.readthedocs.io/en/latest/computation.html and https://github.com/deepmind/mujoco). For the last 10 years we use this also for robotics simulation for quadruped robots and robot arm grasping contact. Check out Erin Catto's presentation about re-inventing soft springs in this PDF: https://box2d.org/files/ErinCatto_SoftConstraints_GDC2011.pd...
Furthermore, impulse/velocity-level LCP based constraint solving can be combined with finite element method (FEM) or mass-spring based deformable contact solving if higher-accuracy contact and friction modeling is needed.