The core technical challenge of this project was to seamlessly composite a fully CG mechanical and biological incubation tank into the provided video plate of a broken garage wall.

In this series of posts, I will break down the entire workflow of this assignment: from initial concept design and 3D asset preparation, to camera tracking, rotoscoping, and finally, how to achieve a photorealistic composite using a multi-pass node network in Nuke.
Inspiration & Concept
My references were mainly divided into two categories:
Design Language: Looking at sci-fi concept art featuring heavy industrial aesthetics and alien incubation elements to enrich the model’s details.
Physical Textures: Observing real-world material behaviors, such as the oxidation and rust on old metal, the refraction of dirty glass, and the light scattering through murky liquids.

I wanted to place an unknown device with heavy industrial or cyberpunk elements inside the broken brick wall of the provided garage video plate. To clarify the general direction, I first drew some basic sketches.

3D Modeling & Asset Creation
The asset modeling process was mainly divided into two parts. For the external incubation tank, I used hard surface modeling techniques, ensuring clean and logical topology for the metal base, pipes, and glass window. The unknown creature inside leaned towards organic modeling. At this stage, I didn’t sculpt extreme micro-details like skin textures; instead, I focused on the main volumes and overall silhouette.

To make the internal creature pose naturally as if suspended inside the confined cylindrical space, I didn’t just sculpt a rigid static mesh. Instead, I created a basic skeleton rig for it.

By using bones for posing, I could easily and flexibly test the spatial intersections between the creature, its cables, and the external glass tank. This not only avoided any unrealistic mesh collisions but also laid a rigorous structural foundation for the subsequent texturing phase.
Texturing & LookDev
With the modeling complete, the next step was to apply realistic physical textures to the assets. To naturally integrate the tank into the dark, dilapidated garage environment of the background plate, I decided on a heavily weathered material style.


For the material pipeline, I utilized a standard PBR workflow. Detailing the external metal tank was a priority: I layered a significant amount of dirt, water stains, and scratches onto the Albedo and Roughness channels. As seen in the images, both the heavy rust on the iron edges and the oxidation marks on the brass structures were added to increase the sense of history and realism, avoiding that artificial “CG plastic” look. As for the inside of the tank, a murky, slightly emissive green liquid was established. To ensure the creature inside maintained a clear silhouette even in this murky environment, I utilized color and luminance contrast to create a high-contrast texture structure for it, thereby highlighting the visual center.


Additionally, I specifically added a small Magnifying Glass structure to the exterior of the viewing window. This design isn’t just to enrich the hard surface details; more importantly, it introduces very interesting refraction and image distortion during rendering and the final Nuke compositing, making the overall optical performance much more realistic and believable.


3D Tracking & Rotoscoping
The first step upon entering Nuke is to ensure our virtual 3D world is completely synchronized with the spatial movement of the background video plate.

To firmly “embed” the CG asset inside the wall hole, I performed a 3D Camera Tracking. You can see tracking markers on the wall of the original video plate, which provided a solid foundation for accurately solving the camera’s motion path.


After acquiring the camera data, I set up a plane (Card) in Nuke’s 3D space to represent the actual wall and projected the original footage onto it using Camera and Project3D nodes. This step is to assist us in accurately aligning the position, scale, and perspective of the CG model within the 3D space.

After solving the perspective, the next step was to handle the physical occlusion. Because the tank is placed inside the wall, the edges of the broken bricks, the rubble on the ground, and the pipe on the left must occlude the CG tank visually. This required meticulous Roto work.

As noted in the instructions within my Nuke node graph, an important compositing practice was followed here: using multiple separate, small Roto nodes to combine into a complete mask, rather than drawing one giant, hard-to-control Roto shape. For example, separating different bricks and pipes into independent Roto layers for tracking and drawing makes it not only easier to modify but also ensures the mask edges remain precise and natural when dealing with lens distortion and motion blur
AOV Compositing & Final Polish
To have maximum control during post-production compositing, I didn’t just render a single flat image from the 3D software; instead, I output comprehensive AOVs (Arbitrary Output Variables, or multi-pass renders).

Using Nuke’s Merge nodes, I rebuilt the AOV passes such as Diffuse, Specular, Reflection, and Emission. The biggest advantage of this workflow is flexibility: if I feel the reflection at the bottom of the metal tank is too strong, or the green liquid isn’t glowing enough, I can adjust the corresponding pass independently in Nuke without needing time-consuming re-renders in the 3D software.


Placing the CG onto the background video plate is only the first step; true “compositing” is making it look like it belongs in that environment. To achieve this, I applied several key treatments:
Black/White Point Match: This is the most basic yet crucial step. I sampled the darkest shadows and brightest areas in the original plate, using them as references to remap the black and white points of the CG asset, allowing it to blend perfectly into the dim ambient light of the garage.
Light Wrap: The green liquid inside the incubation tank is a very strong light source. In the real world, intense light “spills” over and illuminates the edges of foreground objects. I used Light Wrap techniques to let the green ambient light naturally tint the edges of the surrounding broken bricks and foreground pipes, greatly enhancing the interactive feel between the CG and the live-action wall.

I reviewed the entire shot and felt I could add more elements to enrich the narrative, making it look more like an operational secret underground workshop rather than just a broken garage with a tank in it.


To achieve this, I went back to the 3D stage and added a complex set of industrial pipe systems to the frame. These pipes used the same lighting and weathered materials as the main scene, and were also imported into Nuke via AOVs for compositing, further extending the spatial depth of the shot.
Additionally, to add a visual focus and a sense of danger, I decided to place a “CAUTION: RADIOACTIVE MATERIALS” warning poster on the right wall. Since this is a 2D texture, I utilized Nuke’s Project3D technique to handle it.


Once all elements—the tank, pipes, and wall poster—were assembled, it was time for the final polish. I added depth of field blur (Defocus) via the 3D Z-Depth pass, along with Lens Distortion matched to the original video and the indispensable film Grain.

This concludes the complete behind-the-scenes workflow for the “Machine in a Garage” Nuke compositing project. From the initial concept sketches, to 3D asset creation, and finally to the precise node stitching in Nuke using multi-pass and 3D projection techniques, the charm of visual effects lies in this process of creating something from nothing and making it convincing.