# How to make a 2D Soft-body physics engine?

The definition of rigid body in Box2d is

A chunk of matter that is so strong that the distance between any two bits of matter on the chunk is completely constant.

And this is exactly what i don't want as i would like to make 2D (maybe 3D eventually), elastic, deformable, breakable, and even sticky bodies.

What I'm hoping to get out of this community are resources that teach me the math behind how objects bend, break and interact. I don't care about the molecular or chemical properties of these objects, and often this is all I find when I try to search for how to calculate what a piece of wood, metal, rubber, goo, liquid, organic material, etc. might look like after a force is applied to it.

Also, I'm a very visual person, so diagrams and such are EXTREMELY HELPFUL for me.

## 2 Answers

Blob Physics is likely what you're looking for.

• Excellent resource, I'm also looking for a way to simulate elasicity without springs however, for instance look at this paper: matthiasmueller.info/publications/… Commented Sep 18, 2011 at 4:56

It sounds like you are trying to implement a mass spring system for deformable bodies.

Your bodies springs must have a "breaking" value that will separate them into individual bodies if the force applied exceeds this value. That will handle the smashing effect. for deformation, the mass spring system will work, but I should point out that it's processor intensive, so a GPGPU solution will be desirable.

Fracture mechanics are very complex, and a field of study in and of itself. Many games just fudge it, as "close enough" effects are often enough to fool the user.

For example, take a stick. If an impact halfway has enough force to cause it to break, just create two more sticks with half the length, and noone will be the wiser. 90% of games tech is smoke and mirrors, and creating convincing fake physics. Only the trained eye will notiice the difference.