Making Drawer Arrays

Everytime I visit my dad’s house I religiously take a photo of the chest of drawers in the hallway. The many instances of drawers along with a dimly lit hall with a bright light at one end make for a great visual.

I thought it would be fun to recreate an array of drawers and animate them rippling etc. While I was at my dad’s I took a quick hdri with the Ricoh theta S and some reference photos, I then started modelling 3 drawers and segments of the chest in Lightwave 3D’s modeller.

I moved the objects to Layout and setup a rectangular array to test the concept. It seemed to work well, I could displace the array based on procedural nodes or a image map. Happy with the models, I UV unwrapped each item laying them across 4 UDIM tiles and exported the mesh to substance painter. In Substance painter I imported the hdri and adjusted wood textures I’d taken. Also available free on and started stencilling on texture, making use of the various dust and grime generators to create a worn look.

I exported the texture sets and went about building up the surfaces in Lightwave, using the principal BSDF material. I made few tweak to values, particularly around the glass knob and started to produce some test renders. I was happy with how it was starting to look but with very low samples and no GI I was still looking at a long render time for the 400-500 frames of 1920×1080 resolution images. Enter GPU rendering! Not quite willing to take the plunge into Octane I though Cycles in Blender could be a nice option, with the beauty of PBR texture inputs working very similarly. I had made a few tweaks to the materials in Lightwave’s node editor, so went about baking out the setting up custom buffers to export the adjusted Substance Painter textures into simple UV layout (I think Blender doesn’t natively support UDIM’s yet).

I imported the drawer items into Blender, setup the materials and environment and then create a group for the drawers and dividers. To instance the items I setup a plane with a number of subdivisions to “hold” the drawers. On the plane I setup a particle system to emit from the planes vertices without any physics.

I did the same for the dividers and offset them and used a quick image to displace the plane. I admit, I’m fairly new to Blender and this maybe an overly complicated was of achieving the effect. I have also become aware of the animation nodes add-on, which sounds like it could of been very handy.

Anyway with setup in place, I jumped over to After Effects to animate the displacement map, a simple monotone low res animation using shapes and effects. I export the image sequence to 32bit EXRs and loaded them into Blender as a sequence.

Happy with the displacement I setup the lights, cameras and some dust particles and went about animating the the various elements, producing quick test renders as I went. Then it was time to render. 420 samples came in at ~3 minutes a frame on a GTX 1080 and 970, which I was honestly very excited about, I would not of thought that I would be able to render out this animation in a day, but that’s all it took. There were a few fireflies but nothing very distracting.

I rendered to multiEXR with nearly all the channels on, giving me 200MB exr frames, ouch! I imported the frames into After Effects and went about compositing the elements together, making use of two of my favourite plugins. FL Lens Care and Separate RGB. These go along way to reproducing real lens effects. I also took advantage of the ‘mist’ pass as a luma matte for a fractal noise layer that added a subtle amount of atmosphere.

The only shot that didn’t receive this treatment was the very end shot of the drawer closing, where all DOF and dust where rendered in camera.

I exported to a nice intermediate codec, in this case Cineform 12bit and loaded the video into Audition for the sound design. Having captured some drawer sound the night before on the little Zoom H1 recorder, I went about layering up the audio for a constant rumble of draws opening and closing, then using mainly enveloped EQ and reverb, went about trying to get a spacial feel to the sound.

And that’s about it. I really enjoyed the process and an happy to have learnt a little bit more of Blender, which I can see myself using more and more.