Making Of 'Tribeca Loft'
The Tribeca Loft series of images was inspired by the work of Fearon Hay Architects, as photographed by Richard Powers. My goal was to stick as close as possible to the photos of Richard and concentrate on realism above all.
When modeling the space I sought to remain close to the look of the apartment and only took some liberties with the furnishing and the art. One challenge was to replicate the slight imperfections of this renovated industrial space. In this respect the pillars are an obvious focus of interest, and therefore I dedicated quite a bit of time to getting them right.
After modeling a rough base mesh in Max, I exported it into ZBrush where I used a variety of brushes to replicate the rugged surface of cement or plaster (Fig.01). After decimating the sculpt I exported it back to Max (Fig.02), adding another level of details via a cement Bump map.
Another useful way of adding imperfections to nearly everything is the liberal use of noise textures in different slots, such as Bump, Glossy, Specular or even Displacement, or just as a Noise modifier in Max on top of the geometry. There is a lot of noise added to many of the materials and on many of the objects in this scene. Fig.03 shows how an almost imperceptible Noise modifier (fractal noise or not) will add nice random chaotic variations in the surface of the metal, which translates in nice, more realistic reflections. The same kind of low-frequency, non-fractal noise is added to the Bump channel of the plastic panels in the kitchen in order to give them a slight bend. Even the vegetable on the counter top has different forms of noise in the Bump channels.
Another use of noise (this is something I use all the time) is to break the repetitiveness of tile-able textures. At its simplest, you can use this method to texture a large area (say a building's firewall or an entire road) using maps that would cover only a small portion of that surface, but without having them show any visible tiling. The trick is to mix two copies of the map (one of them with slightly offset coordinates) and mix them using a low-frequency, noise-based mask. This way, you get a vast expanse of non-repeating textures with the close-up crispness of high resolution detailed textures.
In Fig.04 you can see how I used noise functions (and vertex color) to add interesting, geometry-dependent and seemingly random fine details to the Specular, Glossy and Bump channels of the table's metal materials, using mainly low resolution textures and no UV unwrapping. I also blended two different materials in order to give the final metal a separate coating, a bit like a car paint mat. You can see that although the Scratch map appears very tiled in the preview, it comes out looking a lot more random, once it has been mixed and masked with noise and (black and white) vertex colors.
In the same spirit, I often try to enrich my materials by adding an additional layer of Specular or Glossiness via a separate map that has nothing to do with the diffuse or other channels and is positioned on the model using different UV coordinates. It adds a lot of realism and is also a great way of hiding seams in the diffuse or the other channels. In Fig.05 - 06 you can see how I added the same generic Dirt/Scratch map to both the floorboards and the wooden table, giving it an extra touch of realism.
Several people have asked me how I did my curtains (Fig.07). Well, this is Max's good old Cloth modifier, which can work wonders provided that (and here lies the secret), you give it a lot of time. Simulations, especially if you are using low-quality settings, tend to be very bouncy. Therefore it is important to up the settings (the generic heavy preset, for instance, works very well) despite the higher calculation times, to make sure that Self-Collision is on, and to let the simulation run until it really settles (which can be over as much as 800 frames - easily an overnight job, since cloth is single-threaded - no pun intended).
Another question I get asked is how I did the landscape outside. I hate adding back-plates in post as you can never get the environment to properly reflect in the scene (if you are after photorealism). Normally, I tend to use hyper-large HDR textures (minimum 15,000 pixels wide), not just for lighting or reflection but also in lieu of back-plates. Yet given the amount of geometry in this scene and the complex, multilayered materials, using such mammoth textures just sent my render times off the charts. I compromised by using a low-res HDR map for lighting and an LDR panorama of New York I shot myself, which I mapped to a cylinder outside the flat, quite a long distance from the windows (Fig.08). The cylinder has a V-Ray Light material (so that the environment generates nice speculars on objects inside the flat), but is set not to generate or receive shadows so that it does not interfere with the HDR lighting. The result of the cylindrical mapping is an exterior environment that looks right whichever way you turn your camera and means no complicated comping in at the end.
Navigating an eight million poly scene in Max is almost as slow as rendering it (Max 2012 looks much better than 2011 in that department so far). Fortunately, there are a few features you can use in order to ease the ordeal. One is to make sure that all Turbosmooth modifiers in the scene are set to only show at render time. I know it should be standard practice, but I find it very hard to have the discipline to do it systematically (Fig.09).
I'm pretty sure I mentioned everything that is remotely interesting about the making of this scene. Fig.10 - 17 shows the room from a few different angles.