Hacker News new | past | comments | ask | show | jobs | submit login
Pixar's notes on Rigid Body Simulation (2001) [pdf] (pixar.com)
129 points by cpp_frog on May 29, 2022 | hide | past | favorite | 27 comments



The simulation of collisions becomes trickier when tangential compliance cannot be ignored. For example, a ping-pong ball (very high tangential stiffness) rotating around an axis perpendicular to the motion falls straight on a table and bounces back up; the rotational velocity decreases, but it does not change sign. Whereas a superball (low tangential stiffness) will change the direction of the rotational velocity. I did my PhD on this, back in 2000, but haven't kept up with the field.

If anyone is interested in a way to take tangential compliance into account my thesis may be of interest:

https://s3.amazonaws.com/collisions/collision.pdf


Damn this is cool, may I ask which field you got your PhD on? Computer Science with specialization on physical simulations?


Glad you find it cool! My PhD was in Mechanical Engineering.


Pixar 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 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.


I agree with you and I feel it's remiss to not point out a lot of the groundwork by Baraff was done at Carnegie Mellon University prior to his joining Pixar. I, like many others used his work and papers with Witkin from CMU as the basis of rigid body simulation in the nineties.


i'm feeling that mass production of the last year is making this lees than was before. for example i feel the best looking pixar movie is toystory 4(graphic wise, and coco graphic+art direction), current movies like red, or souls, feel cheaper being a lot less "magic feeling", and look like inside out graphics a movie from 2015(7 years), movies like encanto feel more polished and movies like the spiderverse from 2018 feels more creative and risky.


My wish/dream has been that realistic tech is so mature they're no longer spectacles. I felt "tentpole" movies were getting there before Marvel kicked off. Instead the focus is either on story or stylization. I love that in Turning Red they billowing smoke will dissipate into clumping bubbles and they adopted a lot of anime styles into 3d. Effects like smoke, water, and fire are the easiest to focus on. 2d animation has done a lot of this for decades; Malificent's dragon breath, Genie's smoke, Akira's effects.

I think CG sequels, especially as far apart as Toy Story 1 and 4 (24 years!), are a unique thing. It has to be familiar and consistent with previous movies that used older tech, but they can't make a new movie using 24 year old tech, either.


Neither Turning Red nor Encanto are Pixar movies? They're from Walt Disney Animation Studios, rendered with Hyperion (just like Frozen, Tangled, Moana or Zootopia).


Turning Red is a Pixar film, see https://en.wikipedia.org/wiki/List_of_Pixar_films


Walt Disney Animation Studios is Pixar.

Or rather, Pixar is Disney.

https://www.history.com/.amp/this-day-in-history/walt-disney...


WDAS and Pixar are two separate studios owned by Disney the company. There are other studios under the Disney umbrella such as ILM, Live Action, Blue Sky (closed), Disneytoon (closed), DTA (TV Animation)


Aren’t they still separate studios, but same owner?

Wasn’t that part of the take over conditions? I seem to recall this from the Steve Jobs bio.

Regardless, the brand “Pixar” gives you different expectations to the story than “Disney “


This is way more intricate than it needs to be. Game coders have all these old ideas floating around like quad trees and aabb collision detection which has gotten a lot of improvements over the years (a lot of which is just conceptual improvements). I really like PBD as a good alternative to the formulation linked above: https://www.youtube.com/c/TenMinutePhysics.


For 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 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.


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


Hi John, I recall that, those ragdolls falling down stairs. From what I heard from a few Pixel employees, Pixar uses Bullet for some rigid body VFX effects, and Bullet still uses velocity-level LCP in combination with maximal coordinate constraints or with Featherstone-style reduced coordinate forward dynamics.

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.


I've been implementing a 2D physics sim myself, I'd take be interested to hear more about different approaches. For example one that can handle the creation of more objects and handles friction accurately.


Well, it’s a pretty huge topic. I recommend taking a look at the SIGGRAPH course notes on contact and friction simulation:

https://siggraphcontact.github.io/

Also, look at some recent papers on SIGGRAPH and SCA, such as:

- https://matthias-research.github.io/pages/publications/PBDBo...

- https://mmacklin.com/primaldual.pdf

- https://arxiv.org/pdf/2201.10022.pdf

Note that these are all cutting-edge stuff, and most physics simulations in production still use more traditional methods (which you can learn from Box2D’s source code and related GDC slides). The links:

- https://github.com/erincatto/box2d

- https://box2d.org/publications/


Thank you very much! This is great stuff, I have definitely found it overwhelming.


Some years ago I did a project with LiquidFun; https://google.github.io/liquidfun/

It was an interactive art thing for kids; had a TV with a maze of transparent PVC pipes mounted on the front with valves (rotary encoders inside). The kids would open and close the valves, and watch the flow of water be redirected on the TV behind.


Pixar is academics who use stories to showcase their technology. Disney Animation is artists who use technology to tell stories.

I worked at Walt Disney Animation Studio (WDAS) for a while and this was the best best explanation of the differences between Pixar and WDAS


For a long time it felt like Pixar was doing better stories than Disney and honestly I feel like Disney animation slowly started catching up with Pixar stories when John Lasseter was put in charge.

From your description you’d expect Disney studio to produce better stories.


There’s no monopoly on stories and Disney was run by committees for a very long time. The internal culture and some of the non-movie activities reflect the values of each studio. For example, Pixar open sourced USD which is quickly becoming an industry standard for animation and VR. I could never imagine WDAS open sourcing something that could give them a competitive technological advantage.


USD = Universal Scene Description, in case anybody else was wondering.


Thanks for the insider insight. Were you there before or after Disney acquired Pixar?

Ratatouille and Wall-E, for example, weren't seen as story-telling?


I joined well after Pixar was acquired. I was there 2014-2019. Started when WDAS was making Big Hero 6 and Pixar was making Inside Out.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: