This was a good excuse to get into animated softbody stuff 😀
Rigging the octopus
I made a very simple skeleton using kinefx, most of the detail is naturally in octo’s tentacles. Bone Capture Biharmonic is used to generate the skinning, nothing too crazy.
Next up we need some pseudo animation of wiggling tentacles, this doesn’t need to be perfect since it’s just influencing the vellum constraints at sim time.
I apply a ripple around the axis of each tentacle, originally it wasn’t so extreme but when I started testing sims I had to push it to get the look I wanted. The ‘corkscrew’ effect helps our octopus navigate along the floor in the sim, originally I omitted the Y axis ripple but it didn’t look as nice.
Simulating the softbody
The core of the animated softbody is to calculate a delta between the rest position and the animated reference geo.
For each instance of the octo gang we apply this delta as linearly move along the ground, this is the reference animated geometry for the vellum sim.
Once the setup is done, all we need to do is setup vellum source to point at the animated reference geo.
After the sim we use a point deform *per octopus*, (this can be done in a compiled for loop for better scalability). Note that as we iterate over each octopus, we also have to isolate the corresponding rest tetra geo / rest geo.
After all that (+ some extra magic which you can see in the scene file), we get a happy octo family!