Introduction
Howdy! I'm Cristof Navarro and for my capstone this semester, I wanted to focus on 3D environment art for games. While I want to eventually work as a technical artist, I felt like it was necessary to expand my skillset of the 3D pipeline in order to better gauge any problems I need to solve in the future as both a programmer and an artist. Modeling and surfacing are definitely two of my weak points, so I wanted to make something that challenges me on both those fronts so I can grow as a more well-rounded tech artist in the future.
For my project, I wanted to create a 3D stylized scene of a cabin in the woods based off of JiaYing Liang's Warlock Hut concept art. I wanted to use Autodesk Maya and Houdini for modeling, Substance Painter and Designer for texturing, and Unreal Engine for rendering, FX, and shaders. The project was supposed to consist of multiple rendered shots of the scene, but due to time constraints and health-related issues, I had to reduce the scope down to one.
Project Timeline
(Note that this was just a preliminary timeline for planning's sake, the actual project did not go this smoothly, unfortunately)
Concept
As said before, I used JiaYing Liang's Warlock Hut concept art as the reference for this piece. I drew over how I wanted each piece of the cabin to fit together, in order to make it easier for me when I started modeling.
I also used a ref sheet for the other assets in the scene and the general layout, lighting, and composition of the scene using Miro. I wanted a stylized scene without the use of more "noisy" textures. I wanted to keep the scene relatively simple as I'm inexperienced with modeling and surfacing.
Modeling
For the cabin, I wanted to block out the main two shapes for the sake of proportionality. Then, I progressively added more secondary details as time went on.
The first texture pass on the finished model.
For the foliage, I wanted to keep them extremely simple so as to not reduce performance within the scene. The tree asset I made uses leaves made out of various planes with a baked high poly version of each "leaf cluster", while the grass is only a few hundred vertices. I opted out of billboarding the grass as I felt like it didn't have the effect I was going for. I could've optimized it better, but that would've been at the cost of detail, especially when taking in mind the grass shader I coded for the scene.
I made sure the normals for the grass all pointed upwards, as I wanted to avoid the possibility of the grass casting a shadow against itself, and causing problems with performance as a result.
The ground was made using a mountain SOP in Houdini, once I baked the height information onto a plane in Substance Painter and exported the height map, I was able to create a landscape in Unreal by using Landscape Mode.
The result of the bake.
Texturing
Material-wise, I decided to split the cabin up into its main parts to conserve the texel density of its UV shells.
For the wood and metal specifically, I opted for using the trim sheet technique in order to save myself the headache of having to manually add sculpting details to every single piece of wood in ZBrush. By baking details onto a plane, using the resulting maps as the texture for the material, and overlapping the UV shells of the wood and metal pieces of the model, you can get an easy alternative to texturing each piece individually, speeding up your workflow.
After that, I went on to texture the rest of the cabin, by taking advantage of the details I baked from the high poly version of the model I made in ZBrush, resulting in detailed models without increasing its polycount.
Third texturing pass
For the tree, I textured it by taking advantage of Substance Designer's non-destructive workflow and the maps I baked from the high-poly leaves I made in Maya.
FX and Shaders
For the grass, I wanted to make a material to affect the World Position Offset of its shader to fake wind flowing through the scene. The material also takes care of adding color to the grass model by just linearly interpolating between two different colors.
For the fireflies, I opted for reusing an asset I made for a past video game project called Road Rave. It makes heavy use of Unreal's default Hanging Particulates template.
Lighting
Apart from the emissive materials I had on the windows and glowing crystals of the cabin, I also made use of fake lights in order to light up the scene. It's not the most realistic approach, but I chose the more artistic path when it came to lighting the scene as it added much more visual detail than just taking the realistic path. I wanted the "fake" spotlights to emulate ambient moonlight throughout the scene.
Rendering
And here's the final render! I compiled it into a video using Premiere Pro.
Reflection
Unfortunately, I wasn’t able to get to everything I wanted to finish in time as a result of health issues that plagued me this last month.
However, I still feel optimistic over the progress I made this semester and I’m proud that I was able to step out of my comfort zone and try something that was completely new to me. I learned a lot of new techniques, and I’m glad to call a project like this (even if sadly unfinished) mine. :)
Perhaps I can get to everything I wanted to finish over the summer, but only time will tell.
I'd like to thank Caleb Kicklighter, Kathryn King, and my peers from my capstone class for providing me with valuable feedback! Couldn't have done this without them. And special thanks to JiaYing Liang for providing the concept art for this piece.






















