Download presentation
Presentation is loading. Please wait.
Published byHaley Burns Modified over 11 years ago
1
Bending, Breaking and Squishing Stuff Marq Singer Red Storm Entertainment marqs@redstorm.com
2
Synopsis This is the last lecture of the day, so Ill try to be nice Stuff thats cool, but not essential Soft body dynamics Breaking and bending stuff Generating sounds
3
Squishing Stuff Soft Body Dynamics
4
The Basics Use constraints to limit behavior For our purposes, we will treat each discreet entity as one particle in a system Particles can be doors on hinges, bones in a skeleton, points on a piece of cloth, etc.
5
Spring Constraints Seems like a reasonable choice for soft body dynamics (cloth) In practice, not very useful Unstable, quickly explodes
6
Stiff Constraints A special spring case does work Ball and Stick/Tinkertoy Particles stay a fixed distance apart Basically an infinitely stiff spring Simple Not as prone to explode
7
Cloth Simulation Use stiff springs Solving constraints by relaxation Solve with a linear system
8
Cloth Simulation
9
Forces on our cloth
10
Cloth Simulation Relaxation is simple Infinitely rigid springs are stable 1. Predetermine C i distance between particles 2. Apply forces (once per timestep) 3. Calculate for two particles 4. If move each particle half the distance 5. If n = 2, youre done!
11
Relaxation Methods
17
Cloth Simulation When n > 2, each particles movement influenced by multiple particles Satisfying one constraint can invalidate another Multiple iterations stabilize system converging to approximate constraints Forces applied (once) before iterations Fixed timestep (critical)
18
More Cloth Simulation Use less rigid constraints Vary the constraints in each direction (i.e. horizontal stronger than vertical) Warp and weft constraints
19
Still More Cloth Simulation Sheer Springs
20
Still More Cloth Simulation Flex Springs
21
Using a Linear System Can sum up forces and constraints Represent as system of linear equations Solve using matrix methods
22
Basic Stuff Systems of linear equations Where: A = matrix of coefficients x = column vector of variables b = column vector of solutions
23
Basic Stuff Populating matricies is a bit tricky, see [Boxerman] for a good example Isolating the ith equation :
24
Jacobi Iteration Solve for x i (assume other entries in x unchanged): (Which is basically what we did a few slides back)
25
Jacobi Iteration In matrix form: D, -L, -U are subparts of A D = diagonal -L = strictly lower triangular -U = strictly upper triangular
26
Jacobi Iteration Definition (diagonal, strictly lower, strictly upper): A = D - L - U
27
Lots More Math (not covered here) I highly recommend [Shewchuk 1994] Gauss-Seidel Successive Over Relaxation (SOR) Steepest Descent Conjugate Gradient Newtons Method (in some cases) Hessian Newton variants (Discreet, Quasi, Truncated)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.