TECHNICAL ANIMATION:
Mini Project 2
Choice 1: Cloth Simulation in Unity (C#)
​
I tried to implement cloth simulation using the verlet Integration method. I followed the paper Advanced Character Physics by Thomas Jakobsen.
​
Got it to run at around 50 fps. Most GIF examples below have been sped up for the presentation.
​
​​
-
[above] Basic example of the cloth moving under gravity.
-
The demo runs at around 50 fps real time
-
[above] Cloth moves under gravity, collides with sphere and slips down
-
Used Rigidbodies in Unity to detect the collision; applied force at the point of contact perpendicular to the plane of contact
-
[above] Forcible collision of the sphere with the cloth still under gravity
-
Cloth recovers its shape
-
[above] Another forcible collision of the sphere with the cloth still under gravity
-
[above] If you too fast with the collision, sometimes the sphere goes through the cloth, and things go haywire.
-
[above] Collision with a differently shaped object - a cube
-
[above] Ramming the cube into the cloth, which recovers shape
-
[above] Again, sometimes the cube goes through if the action is done too fast
-
[above] Contact with ground; the two pinned particles are unpinned at some point.
-
[above] Cloth falls on sphere, the ground and slips down under gravity
-
[above] Increased the number of particles from 100 to 400 in this one. The result was considerably slower.
-
[above] Tried to make the cloth collide with itself
-
The Rigidbodies help with collisions among particles
-
[above] Increased the stiffness from 0.5 to 1
-
Some particles are a little off
-
[above] Increased the time step value
-
The cloth sags a little more
-
[above] Reduced the number of iterations form 15 to 1
-
[above] Cloth acting under wind forces; stopped gravity for this one.
Some Notes:
-
Used a procedurally generated mesh in unity
-
Vertices are updated every frame and
-
Timestep of 0.025
-
Iteration count kept at 15
-
All particles assumed to be of mass 1
-
Stiffness value for particles used as 0.5
-
​
Choice 2: Analyzing the Nucleus Simulation Engine
​
-
Referred paper Nucleus: Towards a Unified Dynamics Solver for Computer Graphics
-
Nucleus is a unified solver for cloth, rigidbodies, and fluids. It accounts for two-way interaction between object types.
-
Internal deformations are handled through constraints instead of springs. It uses simplicial complex as its unified shape model, which lets it handle interactions and collisions between objects of different dimensionality.
-
Reduces the work of artists. Instead of keyframing poses for deformable objects, it makes use of material properties and external forces.
-
Uses a spacetime-based approach for collisions and
-
Uses a constraint-based approach to account for deformations
-
The number of iterations results in more physically plausible solutions. Conflicting constraints are evaluated in different orders by interleaving them.