Touch the Orbs to Join the Blobby Balls


The two floating girls will toss the blue balls in their hands to the other girl when the orbs are touched in any of three places. Touching two of the three places gets the blue balls to fuse together completely.

The balls are actually metaballs, which have the nice property that they join like blobs. Because metaballs often cannot be computed very fast, here we pre-compute 90 frames of the shapes joined at different stages, and we just sequence between the pre-computed shapes.

We do this sequencing with a Cache SOP, which holds in its memory all the metaball shapes, and it just displays one shape at a time, based on a index number. The index comes from CHOPs, which uses the three orb sensors.

The midiorb CHOP selects the three orb sensors and outputs three CHOP channels. The three CHOP channels are added together, and the sum of the orb sensors can be anywhere between 0 and 3.

We use the lag CHOP to slow the joining of the blobs by limiting how fast the sum changes, as in the second channel below.

The ramp CHOP was hand-edited in Houdini's channel editor to go between 0 and 90 (above right). The lookup CHOP takes the sum, between 0 and 3, and converts it into and index between 0 and 90. According to the ramp, when the sum is 2 or more, the index is 90, so you only need to touch two sensors at once. This index (bottom channel, above left) is passed to the Cache CHOP.

The Cache CHOP has already taken 90 snapshots of its input, which is the result of 2 metaballs moving towards each other in 90 steps. It takes the index to choose which of the 90 shapes to display.