Tazo – Lenticular Printing
As a kid I loved Tazo’s (or in Dutch Flippo’s). Some of them had moving images on them, created with an optical trick called Lenticular Printing.
Lenticular Printing is basically interlacing two images and on top of those images, lenses are attached. Depending on your viewing angle, only one of the interlaced images is visible.
Since Cycles X (Blender) is a path tracer, this trick should theoretically also work in Blender.
As it turns out, it does: but getting it right turns out to be a challenge.
So let’s do some Lenticular Printing in Blender!
Lots of parameters
There are many parameters which make this optical trick either work, partially work, or not work at all. A few parameters to name are the shape of the lenses (in combination with the Index of Refraction (IOR)), the distance of the lenses to the interlaced images and alignment of the lenses to the interlaced images. All of these parameters have to be pretty precise, else the desired effect might not happen. As you can see in the render above: it is close to “fully working”, as the photo of me is slightly ghosting.
So to make this work, I used for the lenses an IOR 1.570, which is the one of PETg. This is the material that’s also used for making these kind of lenses in the real world. The textures are made with Affinity Photo, combined with some procedurals of Blender.
The lenses and Flippo (or Tazo) are modelled in SolidWorks, as this software is suitable for precision modelling. After modelling them in SolidWorks, I imported them into Blender, after which I did some fast cleanup work in the mesh of the imported Tazo.
Now that the lenses have their dimensions fixed, all I had to do is adjusting the interlacing of the textures. I did the interlacing procedurally, so it was easy to adjust without having to go back and forth in Affinity Photo.
After doing some more texture work, I was ready to start animating.
This personal project was also one of my first animations done in Blender. And unfortunately, I’m not really a fan of animations.
Attribution: Halftone shader Node by André Bales