Ivan Brkljacic has shared a comprehensive breakdown of the Memories Are Dead Things project, detailed the modeling and texturing workflows, and demonstrated the rendering setup.
Hey everyone! My name is Ivan Brkljacic. I'm a 3D Environment Artist for games, currently located in Vancouver, BC. Before I start, I would like to sincerely thank 80 Level for granting me this interview and providing me with some additional exposure.
3D art is something I always harbored a passing interest in for a good portion of my life but didn't actually get serious about until 2016. During this time, I had also been studying fine art in Toronto, entertaining the idea of possibly getting into the video game and or film industry. In the beginning, I started dabbling in online tutorials and courses, trying to get a feel for the medium. Around 2017-18, I decided to enroll at Think Tank Training Centre in Vancouver to help expand my skill set. Before then, most of the projects I worked on were more or less little pieces that helped me get the hang of working in 3D, nothing special.
The Memories Are Dead Things Project
The MADT project served as my final term mentorship project at Think Tank, with my primary inspiration being drawn from the Old Manor concept by Evgeniy Musienko. Along with the application of amorphous horror, suspense, and mystery influences that interested me, I also drew from multiple mediums ranging from photography and architecture to film, comics, and games.
I also try to limit the amount I gather as it's easy to fall into the trap of collecting more than is useful and potentially introducing confusion during the design phase. Nonetheless, I try to give myself some space to make changes. You never really know how something will turn out until you get it in-engine. Personally, I find that not everything works well in 3D. So, you will likely need to make small updates to your reference from time to time. Also, and this probably goes without saying, I make sure everything is well-organized and easy to read.
Planning the Composition
The initial composition was largely drawn from the concept itself and roughly tweaked to obey the rule of thirds. Other shots were tentatively set up to provide a general idea of where the most important areas of the scene would be and to set priorities. I used this as a general guide to help determine the placement of my hero props and get me thinking about some basic camera movement.
The scene blockout was created in Maya. Here, I initially built the enclosure of the room as one contiguous piece and then built some of the most important props and architectural elements separately in order to establish a general sense of proportion and scale. From here, I imported everything into UE4, color-coded the scene to determine where my main materials would be, and established some basic lighting. Setting up the scene in this way helped facilitate iteration down the road.
Modeling the Assets
Even though most of the main furniture required a customized approach, I followed a standard high-to-low poly bake workflow in most cases. This involved starting in Maya with a blockout, iterating on the geometry as the project progressed, and then implementing a sculpt pass in ZBrush on the most important elements of the model. I would then finalize things with the creation of an appropriate game-ready low poly version of the high poly sculpt and then bake down the details on the requisite texture maps (i.e. Normal, AO, Curvature, Position, Thickness, Opacity, etc.).
The small and medium-sized assets were modeled within an acceptable polycount while keeping the in-game vertex count in mind. Beveling and face-weighted normals were then utilized to add smoothing along edges. With this approach, I could omit a sculpt pass and focus on adding details in the material during the texturing phase.
As alluded to before, the predominant tools I used were Maya and ZBrush, and when I needed to save time, I implemented modular modeling methods. This usually involved only partially modeling a prop and then either duplicating, mirroring, or instancing its pieces to facilitate faster assembly. Other times, I would kit-bash previously modeled elements from other props and then incorporate them into new props.
For the larger-sized books and tomes, I treated them like furniture, running them through the standard high-to-low process I described earlier. I also created duplicate versions with loose paper inside to help create more variety. The smaller books, on the other hand, were treated like small and medium props and modeled accordingly. Other set dressing elements, such as the cobwebs, were generated using the Cobwebs Pack plug-in to save time.
The Texturing Workflow
For texturing, most of the work was conducted in Substance Suite. I leveraged Painter for the props and Designer for the larger architectural elements (i.e. wood floor, walls). Nonetheless, before I did any texturing, I ensured that the ACES LUT was installed in Painter so I could approximate Unreal's viewport as closely as possible.
From here, I would set up a basic look dev scene with a neutral skylight and then work back and forth between both programs until I could establish a general match. Following this, the texture would be reassessed within the main scene and final adjustments would be made.
For the wood materials, I approached development in a couple of different ways. First, I built a general all-purpose wood in Designer based on some of Derk Elshof's work and utilized that for miscellaneous texturing tasks. And then second, I repurposed wood materials previously built for the main furniture (bookcase, desk, apothecary table) and reused modified versions of those across the scene. This helped speed up my workflow and enabled me to maintain a general sense of unification in the wood while still being able to implement some variety. As far as cloth texturing went, I kept things simple, relying on some image-based sources along with fabric Normal Maps and Painter work to help establish the materials.
For the modular books and paintings, I created texture atlases in order to save on memory and work more efficiently. This involved combining multiple props into one asset, merging the UVs into a single texture map, baking out the requisite maps, and then texturing all those assets simultaneously within Painter. As with the cloth materials, I also relied on image-based texturing techniques, in this case, for the book bindings and the canvas images.
As for the smaller and more complex surfaces, I developed and repeated a general texturing process that left room for variability and customization. Most importantly, I continued to work big to small, implementing an iterative, non-destructive workflow as much as possible. This process involved starting with the Normal or Height information followed by the Albedo. I then used various masks, layers, and generators to create a sufficient color breakup.
After that, I would set up a general roughness and break that up in a similar way. Following this, I would logically add imperfections and or unique details on a macro level, like scratches, wear, grime, and grease, followed by dirt and dust to help make things feel more realistic and lived in. While doing all this, I would try to develop a history of the texture in my mind as I worked, trying to get a feel for how the material could have developed its final look.
Assembling the Scene
Scene assembly, composition, set dressing, and design were continuously tweaked as I progressed through the project, and aside from the lighting, these were the most difficult aspects of development.
For general assembly, I tried to develop a system that leveraged iteration as much as possible. This largely revolved around getting assets within the engine early, making continuous modifications, and then double-checking the results to ensure they were adequate. Instancing the most modular props (i.e. books, paper) across the scene helped me cascade changes across the environment and speed things along.
Nonetheless, my initial approach to scene construction was, yet again, to work big to small, establishing the biggest architectural elements first and then refining things as I progressed. This allowed me to make the most impact early, provide a general framework for execution and avoid spinning my wheels by getting wrapped up in the details too early.
As alluded to before, I decided to maintain the initial composition established within the concept but, at some point, decided to shift the focal point from the fireplace toward the desk. This is where the idea of the mystic seer machine hero prop came into play. I figured it would aid in developing the story and provide a useful anchor for the scene.
This, coupled with the implementation of a light shaft emanating from the window, helped draw the viewer's eye toward the desk. Other changes were made in regards to the selection of materials, especially as they pertained to the ceiling and fireplace as per Rhiannon Catton's suggestion.
For other shots, I relied on additional compositional frameworks, along with the use of depth of field to help draw the viewer to important information. As far as set dressing was concerned, I did a good portion of it by hand while simultaneously using a technique that helped organize the props into primary, secondary, and tertiary categories. This helped create a generally pleasing composition for most areas, a nice tip I learned from Ben Keeling. Other details, like grunges, staining, wall cracks, and dust buildup were applied through the use of either blends and/or decals.
As for the overall visual design and or style of the scene, things came about more or less organically. This took some time as I wasn't completely sure what I was aiming for and was still developing my skill set.
Nonetheless, I maintained a general strategy of creating something that exhibited a sense of mood, mystery, and horror and could potentially hit a AAA quality target. As mentioned before, I drew inspiration from multiple sources and then kept tweaking things into something that seemed cohesive and or harmonious.
Rendering and Lighting
Final lighting and rendering were arguably one of the most difficult aspects of development for me, and, in some ways, I still don't think I got the results I really wanted. From the beginning, I strove to create a sense of mystery or horror without making the scene too dark, as I was concerned that this would obscure the work too much. So striking a balance between mood and visibility became important. Interior shots that take place at night are some of the most difficult scenes to light according to my sources, so I had my challenges ahead.
Anyway, in the beginning, I kept the lighting simple. At this stage, the goal was to create just enough visibility to adequately work and set a general tone. First, I set up my post-process volume with Infinite Extents, which ensured that the entire scene would be affected by my changes. After this, I clamped the exposure by setting the min and max brightness values to 1 and then utilized a spotlight emanating from the window as the main light source. Finally, I constructed a sky sphere to establish an adequate atmosphere, implemented a skylight to generate some ambient light, and then set a sphere reflection capture to get some basic reflections within the scene.
With this initial setup, I would continue to add or remove lights, either establishing them as fill lights to fake some bounced lighting or utilizing them as a means to help emphasize one area over another while simultaneously finding ways to push the mood and atmosphere.
Around 85- 90 percent of the way through development, I began making final refinements. At this point, and after much deliberation, the decision to unify and designate the light coming from the candles, mystic seer machine, and fireplace as the main interior light sources seemed to make the most sense. This warm light was then offset by a cooler evening light emanating from the window and skylight to help add some additional contrast. During this, a dynamic rendering solution was settled on due to its flexibility and speed. Unreal's lighting tools catered really well to this workflow, one of the main reasons I decided to use the engine in the first place. After the main lighting was in place, I then began to apply the final touches in the post process. Here, I applied some additional contrast in the shadows coupled with some minor tweaking of the color temperature, chromatic aberration, AO, and bloom. As far as visual effects went, I leveraged a series of useful plugins to help add some extra flare to the scene (Orb FX, Particles, and Wind Control Systems).
As previously alluded to, lighting and design were a quagmire at times. Trying to establish the right mood without making things too dark and keeping things generally performant was challenging, to say the least. Moreover, my desire to make deviations from the concept in an attempt to work on my own design/storytelling skills made things harder as well. As a result, I had to dig much deeper into the reference gathering, set dressing, and composition.
That being said, the amount of prop work I undertook was probably unnecessary, and I could have streamlined the creation process better too. This, coupled with learning proper workflows, getting my skills to a certain level, correcting mistakes, and dealing with weird technical issues that would crop up from time to time added to the challenge.
As you can imagine, my ability to stay motivated and disciplined was tested at times. There were moments when I really thought the reel might not come together at all, so I would routinely second-guess things, including myself. Having to hold down part-time work while attending school didn't make things easier either.
Nonetheless, I'm glad I took the extra time to get things to a sufficient state, even though knowing when to call it quits is always a struggle for me. I think as artists, we all want to be happy with our output and be respected for our skills but at some point, you just have to recognize that nothing is ever really finished, mistakes are necessary for growth, and you are likely your own worst critic and theoretically, you can work on something forever. A good measure of humility, perseverance, patience, industriousness, detachment, and passion for the work are important qualities that I think any artist should cultivate. Having a good network of trusted industry confidants that you can get helpful feedback from is just as important. You don't have to go at it completely alone, nor should you. The community is filled with helpful, talented people who understand the battle, and that's an encouraging thought.