1 / 61

Bending, Breaking and Squishing Stuff

Bending, Breaking and Squishing Stuff. Marq Singer Red Storm Entertainment marqs@redstorm.com. Synopsis. This is the last lecture of the day, so I’ll try to be nice Stuff that’s cool, but not essential Soft body dynamics Breaking and bending stuff Generating sounds. The Basics.

preston
Download Presentation

Bending, Breaking and Squishing Stuff

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 I’ll try to be nice • Stuff that’s cool, but not essential • Soft body dynamics • Breaking and bending stuff • Generating sounds

  3. The Basics • Constraint – something that keeps an entity in the system from moving freely • 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.

  4. Box Constraints P 0 100

  5. Box Constraints (cont) • Confine P to extents of the box • Recover from violations in position (last valid, rebound, wrap around) • Simple, yet the basis for the rest of this

  6. Spring Constraints • Seems like a reasonable choice for soft body dynamics (cloth) • In practice, not very useful • Unstable, quickly explodes

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

  8. Cloth Simulation • Use stiff springs • Solving constraints by relaxation • Solve with a linear system

  9. Cloth Simulation

  10. Cloth Simulation • Forces on our cloth

  11. Cloth Simulation • Relaxation is simple • Infinitely rigid springs are stable • Predetermine Ci distance between particles • Apply forces (once per timestep) • Calculate D for two particles • If D != 0, move each particle half the distance • If n = 2, you’re done!

  12. Relaxation Methods

  13. Relaxation Methods

  14. Relaxation Methods

  15. Relaxation Methods

  16. Relaxation Methods

  17. Relaxation Methods

  18. Cloth Simulation • When n > 2, each particle’s movement influenced by multiple particles • Satisfying one constraint can invalidate another • Multiple iterations stabilize system converging to approximate constraints • Forces applied before iterations • Fixed timestep (critical)

  19. More Cloth Simulation • Use less rigid constraints • Vary the constraints in each direction (i.e. horizontal stronger than vertical) • Warp and weft constraints

  20. Still More Cloth Simulation • Sheer Springs

  21. Still More Cloth Simulation • Flex Springs

  22. Using a Linear System • Can sum up forces and constraints • Represent as system of linear equations • Solve using matrix methods

  23. Basic Stuff Systems of linear equations Where: A = matrix of coefficients x = column vector of variables b = column vector of solutions

  24. Basic Stuff • Populating matricies is a bit tricky, see [Boxerman] for a good example Isolating the ith equation:

  25. Jacobi Iteration Solve for xi (assume other entries in x unchanged): (Which is basically what we did a few slides back)

  26. Jacobi Iteration In matrix form: D, -L, -U are subparts of A D = diagonal -L = strictly lower triangular -U = strictly upper triangular

  27. Jacobi Iteration Definition (diagonal, strictly lower, strictly upper): A = D - L - U

  28. Lots More Math(not covered here) • I highly recommend [Shewchuk 1994] • Gauss-Seidel • Successive Over Relaxation (SOR) • Steepest Descent • Conjugate Gradient • Newton’s Method (in some cases) • Hessian • Newton variants (Discreet, Quasi, Truncated)

  29. Dynamic Destruction • Assigning material properties to rigid bodies • Object break, bend, spindle and mutilate uniquely • Similar principle to constrained dynamics

  30. Tools For Destruction • 3D tessellation • Creating constraints • Material properties • Offline processing

  31. 3D Tessellation • Uses entire volume of object • Tessellate into tetrahedrons (3D version of creating a triangle mesh)

  32. Creating Constraints • Spring connection between (non-rendered) vertices • Particles displaced within spring limitations return to constrained position • Particles that move further “break” the constraint • Split in center and form two new virtual vertices

  33. Dynamic Destruction

  34. Dynamic Destruction

  35. Dynamic Destruction

  36. Dynamic Destruction

  37. Dynamic Destruction

  38. Dynamic Destruction

  39. Dynamic Destruction

  40. Material Properties • Analogous to tensile and compressive strength • Additional properties add a more realistic effect • Strain and strain rate tensors • Elastic and plastic strain components • Penalty methods on forces based on particle depth

  41. Retessellating • Breaking a solid object can result in creation of new surface polygon • Pieces have to be retesselated and retextured • New chunks are also new rigid bodies in the system

  42. Dynamic Destruction • Demos: • Destructo-Bunny • Crash2 Pseudo Interactive, E3 Demo, May 2004

  43. Dynamic Destruction • Reckless destruction of tofu

  44. Squishing Stuff • Dynamic fracture is expensive • Deformation can be cheaper • Only allow squishing • Modal analysis to create component pieces • Nastiest processing can be done offline

  45. Modal Analysis • What the heck is it? • Looks more complicated than it really is • Comes from material science/fatigue analysis • Separates the vibrational characteristics of a material into discreet shapes (modes) • Modes can be combined additively to create complex behavior

  46. Modal Analysis d= vector of positions K=function of elastic forces (e.g. spring-mass) C = takes velocities, returns dampening forces f = vector of external forces on the system (collisions, user input, etc.). M = takes accelerations ( ), returns required forces

  47. Modal Analysis • Assuming small displacements, linearize to:

  48. Modal Analysis – Warning: Crunchy Math Ahead! • A bunch of steps are in the end notes • Complicated • Involves some unfamiliar manipulations • Getting there is hard, but the end result is fairly easy to grasp

  49. Modal Analysis • End result: • Zi is the ith row of our final matrix c1 and c2 are complex constants and w is the complex frequency: • The absolute value of the imaginary part of w is the frequency(rads/s) of the mode. The real part is the rate of decay.

  50. Modal Analysis • All modes for an object can be processed offline and stored in a lookup table • When a forces is applied, look up the modes and their comparative strength • Modes can simply be added to obtain the final displacement of a particle in the system

More Related