iSob-Body

Video (version with sound coming soon):

GIF:

Sketch (warning, if you've given p5 webcam permissions it will start automatically.)

I enjoyed many hours of suffering with my original idea, which was to make the body melt by moving its pixels around. Unfortunately, using pixel setting and getting slowed my code to a near unusable speed. The body segmentation model, bodyPix with part segmentation, was also not fast or accurate enough for what I wanted. And finally, to make a two-dimensional area 'melt' convincingly would require lots of complicated math/physics - like how I was trying to make my blobs from deliverable three bounce correctly, but even more complicated. This probably requires something like a physics engine.

Instead, I decided to learn how to use 3D primitives in p5. There aren't many of them, but a lot can be accomplished with toruses and ellipsoids. I learnt how to position them using transform() and rotate(), use different textures, and set/position the lights. I also delved a bit into learning sound by creating an oscillator whose amplitude and frequency change as you open your mouth or move side to side, respectively. I even learnt about the limitations of the camera in p5, and had to do various weird tricks just to make the background rainbow (I could also have displayed the webcam video, but it would be distorted unless I used the orthogonal camera.)

The visual aesthetic of this piece is nothing of great interest, but ideally it will make the viewer feel like a singing egg trapped in a rainbow dreamscape. Listen to the slightly pitched-down anime girl soundtrack, and augment it with your own special song. Kick back and relax.

Physical sketches: