Skin and Muscles on 'Incredibles 2'
2016–2018
Senior Software Engineer
Led skin and muscle simulation developments on Incredibles 2.
Highlights
- New robust skin tracking algorithm using 2D ray-tracing over mesh surfaces
- Non-uniform projection spring constraints for art-directed skin behavior
- FEM muscle development
Tags
PAL, PhysBAM, FEM, Skin Sim, Flesh Sim, Muscle Sim
Robust Skin Tracking
Skin sliding over a character can become non-physically snagged in curved or creased regions — armpits, for example — when it becomes ambiguous which part of the kinematic surface the skin should track. We address this by performing 2D ray-tracing over the mesh surface to resolve the ambiguity robustly and efficiently.
Projection Springs
Projection springs are a force that constraints one surface onto another. One side of the force is free to slide on the target surface, but it can’t leave. The other end is affixed to a vertex on our dynamic mesh.
Solving the problem of when collisions and projection springs interact.
Ray Tracing Method for Sliding
The way we’d done skin sliding up to this point required projecting the points of the dynamic surface onto an animated surface at every step of the simulation. Projection is problematic because it’s common to get into situations where you get multiple candidate projection locations, and you have to choose. In the past we used different metrics to try to make an informed decision, like measuring geodesic distance from the previous point to the new prospects, but hueristics fail.
We developed a much more robust method of sliding that didn’t rely on step-to-step projection. Instead, we’d do a 2-dimensional ray tracing scheme. We’d project our sliding point and its host triangle into a canonical 2D space with a QR factorization. Then with a dimension removed, the need for projection disappears, and we can walk the triangle in 2D until we hit an edge, and then we step onto the next triangle. Once we’ve walked far enough, we project back to 3D.
Finals
Projection based sliding:
2D ray trace sliding:
Bob got some skin sliding as well to sell his weight.
Flesh and Muscle Sim
FEM Muscle Sim R&D
Fiber direction fields:
Muscle contraction:
Muscle contraction on a sphere:
Muscle contraction on a sub-mesh:
A bicep from the visible human dataset:
New problems with bone poke-through: