Procedural Houdini Clean Plating Script
This is a tool I wrote which automates a large portion of the clean plating process. The script uses Houdini to procedurally create clean plates to remove an unwanted subject from a shot.
I call it the ‘Dishwasher Script’… because it cleans plates on it’s own!
The custom Houdini shelf tools created for use with the script
The Dishwasher script is mainly a set of HScript files that are run at render time. These scripts automatically create the nodes needed to set up camera projections for each frame as the camera moves through the scene.
Each camera projects an image where the subject we wish to remove is roto’d out with a garbage matte. By projecting images of only our background onto the geometry, and rendering the result as a flat 2D image, we can fill in the area we wish to remove.
This work was inspired by The Mill’s work on The Chemical Brothers' music video “Wide Open”. In May '16, after speaking with the team who worked on the project, I learned that they had used Houdini in their pipeline to help clean plate the 6798 frames required.
I set about looking at different clean plating techniques, and started experimenting with ways that these results could be achieved procedurally.
Developing a Proof of Concept
During early tests, I was looking at how to combine multiple camera projections in a Houdini scene. The videos below show a controlled experiment where I sought to remove the checkerboard cylinder.
This is the result of sampling the source camera every few frames and creating a projection camera at each sampled frame. The projection images have had the checkerboard cylinder removed with a quick garbage matte.
This was my first test using live action footage with the script. It was interesting to see how the image will get stretched if it is projected onto geometry at a certain angle.
The tool has been used in my master’s project at Bournemouth. Below are two shots where we used the script. The Dishwasher script is an important part of the pipeline for this project, as there is a LOT of clean plating to be done.
The Dishwasher Script is a really useful tool to have in our locker. When the turnaround is as short as a few weeks, it is a great alternative to having to spend time in Nuke manually setting everything up. The shelf tools make it easy to use, and the renders are quick and efficient. My plates are clean, and so is my to do list! Thanks Dishwasher!
– Ben Johnston (MA Digital Effects, class of 2016)
This video shows the process of setting up the Houdini file for clean plating.
The UV layer and UV Texture sops get copied at render time to create a new layer for every frame
The shader setup for layering up frames from the plate
Once the script starts running, a new layer gets created for every frame, which is then composited onto the previously projected images. The vops are wired up again using HScript
A section of the .hs file that runs at before every frame at render time
The Sound Project Next