Nathaniel Grove did a fantastic breakdown of his lovely 3d environment with beautiful soft lighting.
Hi! My name is Nathaniel Grove and I’m an Environment Artist from Pleasant Plains, Illinois. I studied game art and design at the Illinois Institute of Art: Schaumburg, graduating in 2015. I recently moved cross-country and I’m currently working at Heart Machine in Los Angeles on their next unannounced title as an environment artist. I’m here today to share my breakdown of this old and neglected office I’ve created.
I’ve always been a fan of the stylized realism you see in games like Dishonored or the Souls series and I wanted to create a few assets that evoked that off-kilter fantasy feeling. I was enjoying sculpting and texturing the assets so much that things quickly got out of hand and I decided to just do a whole scene. It was more of a stream of consciousness done for fun, rather than an executed plan.
Consequently, the layout, lighting, and placement of each object was kind of done on the fly. There wasn’t really a block-out or concept stage of this scene as up until halfway through I was only working on a per-object basis. This resulted in a lot of retexturing, remodeling, and scrapping of a few assets. I had a lot of fun exploring the space, but if I were in a full production setting I would have jumped around a lot less and worked straight from a concept or reference.
After finally deciding on a visual tone I wanted to show the layers of history that exist in this office, meaning this scene would consist of objects from a number of eras. I wanted each object to have a lot of care put into it so most objects in the scene, including wall panels and furniture, use high-poly bakes that fit the meshes, rather than tiling materials. The workflow for the creation of each asset is a little different depending on how aged it is and its base material, but generally I used Maya for base modeling, ZBrush for detail sculpts, and Substance Painter for baking and texturing. For example, most of the wooden objects in the scene are the oldest and most worn, so I modeled the disassembled pieces in Maya then took them into ZBrush to sculpt worn edges, dents, and dings in the metal parts, and large scratches from the furniture being moved over the years. I then reassembled them and use that more damaged version as the high-poly model for baking in Substance Painter. This method applies to things like the radiators, wall panels, and chairs in the scene. For the wood, I also separated and rotated UV map edges corresponding to seams where the wood grain changed direction and of course overlapped UVs where two mirrored sides wouldn’t be visible from one angle.
The workflow used for the newer objects like the typewriter and the phone is relatively standard hard surface modeling, although the typewriter was easily the most time-consuming asset due to its numerous individual parts. Since there are so many mechanisms and so much surface area on the typewriter I had to overlap UVs all over the place, finding ways to scrunch them together in ways that wouldn’t be obvious but would allow me as much resolution as possible.
The room itself is constructed from a set of various modular wall and ceiling panels, while the plaster wall and floor were just hand-modeled to fit their needs and applied with tiling materials and a bit of vertex painting. If I were to turn this into a full level spanning a whole interior structure I would have focused much more on modularity, but after I landed on a direction I decided to evoke a very specific tone with this setpiece. In terms of the tiling materials in the scene, there are only four, (wood flooring, floor tiles, brick, and plaster) all sculpted in Zbrush with the diffuse and roughness maps being generated in Substance Painter.
The lighting in the scene evolved as the tone did. In the scene’s final version the lighting is entirely baked with a handful of ‘faked’ bounce lighting point lights with large source radii. Originally I had stationary lights being cast by a handful of the lamps in the scene, but all of that light diluted anything resembling a focal point. By the end, I wanted to keep all of the light coming from one source (the sun) for readability and consistency’s sake, as the things were getting very busy. There’s an exponential height fog entity in the scene to simulate dust and a sunray material attached to a cylindrical mesh coming from the window.
The ray material uses camera depth and a Fresnel to make it more transparent on the edges and when you get close to it. I’ve also got a simple particle system for the dust motes floating around. However, most materials in the scene aren’t overly complicated. They only use a diffuse texture, a normal map, and a mask that includes AO, roughness, and metalness maps in its RGB channels. A few use opacity masks (garbage can, phone cord, etc..) to save on triangle count.
Overall the scene adapts well to real-time usage on current systems as most objects in the scene are relatively low in triangle count and none of the textures exceed 2048×2048. It runs at a constant 60 frames/second on my machine but some optimization would certainly have to be done to turn this into a full level. (LODs, culling, etc…) I’m pretty happy with where I landed but if given more time I’d have done a bit more to flesh out the detail.