Created: October 27, 2025
Type: Environment Art
The particular environment was chosen as a way for me to practice texturing. Recently, I decided to hone in on my ZBrush skills. Something I particularly enjoy with ZBrush is creating tileable textures. Taking inspiration from my architectural history course at the Savannah College of Art and Design, I wanted to select a Moroccan courtyard. Not only does this particular environment have intricate patterns and tile work, but also allows for the presentation of trim sheets, Adobe Substance Painter and Designer work, and lighting to show off the textures in an appealing way.
Pre-Midterm
Planning
I began gathering reference and annotated features that I liked about them. Something particularly challenging and part of the reason why I picked this environment was to help improve my ZBrush, and Adobe Substance Painter and Designer skills. I wanted to keep the environment stylized, but not to a point where it looks cartoonish. I started planning out textures to use on trim sheets and based my models off of this.
I started quick sketching where I would place certain textures on my models I wanted to create. After planning out how many textures I would need, I began box modeling my blockout for unreal, properly testing and resizing as needed to best fit the look I was going for.
Initial Blockout
Refined Blockout
Final Blockout
Modeling
When making blockouts I started creating archways that were attached to the wall. My original idea was to have ornate patterns fill the back walls that would then connect to the archways as seen in the first two blockouts. An issue I had with the layout however was that it looked too visually chaotic. I wasn't sure if I liked how the large archway was open to a corridor area on one side of the environment, but against a wall on another. I also wasn't sure if I liked how the archways were stacked on top of one another without having the visual of a second floor. This is when I took the first blockout back into Maya and revised the models.
The final blockout allowed for more symmetry, as well as having a nook where I can add a hero asset to make the environment more visually appealing. It also helped with the rule of thirds.
Figuring Out How To Tackle Texturing
I wanted to try and take inspiration from this reference image at first. Being somewhat inexperienced with Substance Designer, this was my way of testing what I can do to gauge how much time I needed to take for each task. I used a sprint system to achieve goals by the end of every week which allowed me to nearly complete this project in 4 weeks while also completing two other environments for other classes.
Surprisingly, I was able to create base texture maps within substance designer that I could take into painter and add details to. This helped me to use this same strategy with the other textures I was going to create.
At this point, I knew I didn't want to use this texture in my environment because it was too simple for what I was going for. However, I used this as my test texture. After not being pleased with how it looked in substance painter after importing the maps, I wanted to be able to get a super clean curvature and ambient occlusion map. This is when I decided to incorporate ZBrush into my workflow.
I've always heard about being able to use your own sculpt in ZBrush as a relief to displace on a mesh. I was going to use this method but with an alpha that covered the entire plane. I would then make the alpha 3D and bake the high poly onto a low poly 2048x2048 plane and use that as my base texture.
After being able to access the high poly mesh and the plane it originated from, I exported both, modified the planes poly count in Maya, and then took them into Substance Painter where I baked the textures. It was exactly what I was looking for. I decided to use this as my workflow.
Creating the Other Textures
When I wanted something really detailed, Substance Designer would have taken a huge chunk of my time trying to create these shapes. This is why I decided to model an ornate pattern in Maya and then bake it on a plane to make the texture. It was essential my original workflow, but using Maya instead of ZBrush.
Maya -> Substance Painter -> Substance Designer -> ZBrush -> Maya -> Substance Painter -> Unreal Engine
I used this method for most of the ornate patterns or stone carvings
Tiles
For most of the tiles, I created the base texture maps in Substance Designer and just kept them that way without baking in Substance Painter or making a poly 3D in ZBrush. I just exported the maps into Substance Painter and added details.
Completing the Textures
After finishing all the textures, I took a plane in maya and assigned each square a color which would then be baked into an ID mask for a trim sheet. Figuring out the size of each was based off what was needed for each model.
UV and Refine Models
Mesh Wireframe
Mesh with Trim Sheet
Breakdown
Post Midterm Changes
Lighting Changes
I wanted the lighting to be less even throughout the entire scene and have a single visual focal point. This way, the lighting is more dynamic. The new lighting also adds better depth to my textures.
Ivy
I added Ivy hanging on the edges of the ledge between each floor to make the environment look less flat. This also adds more color and foliage to my scene. It is placed by baking ivy strands on a singular plane to save on polygon count.
Caustics
With the help of my professor, I created a light function material where I can change the distortion, color, and intensity of caustics. This way, I can plug the material into a light source and hand place where I want my caustics to be. It offers a lot of control.
Challenges From This Project
Never worked with trim sheets before
Not too familiar with ZBrush
Not too familiar with Substance Designer
Lighting wasn't my strong suit at the time
Overcoming the Challenges
I used trial textures to overcoming texturing issues first before making the trim sheet. I then planned out my geometry to match areas on the trim I wanted to use which ended up making UV placement easier.
Aside from asking for one on one help to understand the program better, I box modeled models in Maya which were unrelated to this project to get more comfortable with controls and techniques. I also exported the models from Zbrush and imported them back into Maya to quad draw on them. This way I can practice baking high poly models onto low poly models in Substance Painter.
I started watching Adobe's tutorials on their youtube page as well as Art Station Learning. This helped me understand the flow of substance designer and how to do certain things within the program.
A huge obstacle coming into my Senior year was lighting in Unreal Engine 5. With the help of my professor and my Senior Capstone project, I have learned techniques and settings to start to improve my lighting.