Skip to content

Affine Body#

Affine body is the material model for simulating stiff materials. Affine body objects must be triangulated meshes.

Solver

The Solver object for the simulation.

Driven Shape

As noted in overview, in Blender, the simulation cache directly deforms the point attribute before any modifier is applied. While during export, all modifiers of the simulation object is applied. This means that having any modifiers on the simulation object that changes point position or vertex count on the simulation object will leads to a discrepancy between the simulation mesh and the simulation cache. Driven Shape is designed to bypass this limitation. If user wish to apply modifiers after the simulation result, user can apply the modifiers to the Driven Shape instead of the simulation object. When Driven Shape is set, the simulation will export from the simulation object, but deforms the Driven Shape (instead of the simulation object).

Material Properties#

Property Name Description Unit Is Mappable Is Animatable
Can Collide With Other Simulation Object Can this simulation object collide with other simulation objects YES YES
Can Collide With Colliders Can this simulation object collide with kinematic colliders YES YES
Gravity The gravitational acceleration \(cm/s^2\) YES
External Force Additional external force \(10\mu N = g*cm/s^2\) YES
Inner Thickness The thickness along the negative normal direction Model YES YES
Outer Thickness The thickness along the positive normal direction Model YES YES
Inner Friction Coefficient The friction coefficient for the inside Unitless YES YES
Outer Friction Coefficient The friction coefficient for the outside Unitless YES YES
Barrier Stiffness The stiffness of the collision barrier for contact \(10\mu N = g*cm/s^2\) YES YES
Density Surface density of the affine body object \(g/cm^2\) YES
Stiffness Material stiffness of the affine body \(100 nJ = g*cm^2/s^2\) YES
Mass Damping Damping of all motion of the affine body \(1/s\) YES

Model Unit

Model unit is a special unit that does not scale with the solver scale. See solver for more detail.

Density

Affine body density is computed using the surface area, not the volume. So the density attribute is of unit \(g/cm^2\) not \(g/cm^3\)

Friction Coefficient

Friction coefficients are multiplicative. If a surface with friction coefficient \(0.1\) comes in contact with another surface of friction coefficient \(0.1\), the resulting friction coefficient is \(0.1 \times 0.1 = 0.01\)

Barrier Stiffness

The contact stiffness of barrier has the unit of \(10\mu N\) instead of \(10\mu N/cm\). It ensures that the contact stiffness is thickness invariant, i.e. user will not need to change the contact stiffness if the thickness of the object has changed to ensure the contact barrier exerts the same amount of force.

Stiffness

Affine body should have very high stiffness value, the default stiffness value reflects that. During contact or simulation, the affine body can deform slightly (invisible to the human eye), such deformation allows it to be couple with other deformable materials easily. In general, we want the stiffness to be high enough so the deformation will be hidden visually.

Examples#

You can find the an example file for affine body simulation here. It comes with a script to create generate a stacked affine body walls.

Floor
Floor
Floor