Environment Artist Pablo Giménez walked us through the creation of an atmospheric Asian scene inspired by concept art, using Unreal Engine, ZBrush, and Blender, showing how to make the buildings in modules, develop realistic textures, and achieve smooth lighting.
Introduction
Hello everyone! I'm Pablo Giménez. My story in 3D began a long time ago. In 2016, by chance, I talked to a childhood friend who told me that he was going to study an Advanced Certificate Program in 3D Animation, programming, and interactive environments.
At that time, I was trying to find something that would motivate me, and I was fortunate to give it a chance despite it all sounded very strange to me because, until that moment, my relationship with video games had been the one that any casual gamer can have, but it was love at first sight. And after two and a half years of study and a lot of work, in 2019, I got my first job in the industry.
At the end of 2023, after suffering a layoff, as unfortunately many people in the industry in these years, I decided it was the best time to take a break and rethink the direction of my professional career. So, I decided to start a mentorship with Alex Beddows, and I can say it was the best decision I could make. From the choice of the concept to his advice when choosing which battles were the most important to fight and, of course, feedback and artistic direction.
Beyond my work, in my free time, when I'm enjoying a walk, traveling, reading, or playing video games, it's impossible for me not to think about how I'd do at work, the landscape I'm walking through, the building I'm looking at, or whatever the environment of the book I'm enjoying would look like. This motivates me to continuously research the book I'm working on.
About the Ancient Temple of Dense Forest Project
Despite having a professional portfolio and being very happy with it, I had always wanted to have a personal art piece where I could show my skills and demonstrate that I can create an artwork as complete as an environment by myself.
I have always liked Asian culture. I find its art and architecture fascinating, so I knew I wanted to create an Asian-inspired environment. So, I presented several options inspired by this culture to Alex, and after discussing my needs and goals, we came to the conclusion that the Ancient Temple of the Dense Forest was the best option for me.
In this portfolio piece, I wanted to focus on the creation of modular structures and improve my skills in sculpting organic assets, as well as material authoring and shader creation.
As for references, I had three main sources. The first one is Wikimedia Commons, where you can find a great variety of photos, many of them of great quality and high resolution. The second source was some reference packs I found in the ArtStation store of pig jio, and finally, the author of the concept art, Junling Wang, to whom I spoke directly through ArtStation, and he kindly shared with me some of the photos he had taken to create the amazing concept art.
Composition, Blockout & Modeling
With concept art, I always had great help working on the composition. Once the scale of the most important elements was clear, I started working on the general blockout. Although from the beginning, I knew that the rocks and the foliage were going to be scanned, for the rocks in the first stage, I sculpted in Unreal Engine very simple shapes that I rotated and scaled along the map according to my needs.
For the trees, I used simple cylinders, and for the building, the central part of my environment, I used the Unreal Engine modeling tools as a first pass, always keeping in mind to use constrained measures to the grid to facilitate the work with the modules in the future. Once the basic shapes were clear in Unreal, I modeled all the basic shapes separately in Blender.
One of the most important tips I can give, from my experience, is to have everything already represented in the blockout stage, regardless of the importance of that asset. Working in this way gives a clear picture of the scope of our project, and this is the stage where it is easier to iterate.
Despite working in Unreal Engine 5, I tried to use Nanite conservatively, applying the necessary amount of triangles needed to have a good silhouette but comfortable to work with. So, I followed the traditional workflow of sculpting the high poly and then applying a bake on a more optimal and manageable mesh.
Alex advised me to use scanned foliage. The main reason for this decision was, as I mentioned in the introduction, the main goal of this project, which was to work on modular structures, asset sculpting, and texture and shader creation. So, both the foliage and the rocks used in the environment came from Quixel Bridge and Epic Store packs, such as European Beech.
Narrowing down your work and having your initial objective clear also helps a lot when approaching the project responsibly.
Retopology
UVs on Nanite meshes can become tedious. To speed up the process, especially for architectural elements like columns or beams, I used the following workflow.
In Blender, I create a very basic shape of my asset with the UV cuts where I want to have my support loops and send my asset to ZBrush. Once in ZBrush, I apply Polygroups by UV and do a ZRemesher keeping the Polygroups; this way, I make sure, in most cases, to have a mesh with uniform squares and then apply the Crease PG. Then, I send the geometry back to Blender to do the final UVs, before sculpting my piece.
With the UVs relaxed, I send my asset back to ZBrush, where I subdivide and sculpt the high poly. To get the optimized version of my geometry, I duplicate the sub tool and apply a Decimate with the Keep UVs option activated. Following this process, the edges of the UVs are straight, and it usually works fine, but sometimes they have to be relaxed.
In the case of assets like statues, I sculpt the high poly and generate the optimized version using Decimate All in ZBrush and do the UVs in Blender without using any specific workflow, which is sometimes more expensive.
Texturing
The creation of textures and shaders is the part I have enjoyed the most. I love to break my head thinking about how I can approach X or Y assets, always keeping in mind the Texel Density as the Golden Rule.
For the creation of textures, I try to look for references in Quixel, especially the Normal Map and Base Color. If you are going to make a realistic texture, what better reference than a scan?
I always try to start with the Normal Map as a reference, ignoring the rest of the maps, although the Height Map goes hand in hand with the Normal Map. When I like the Normal I get, that's when I work on maps like Base Color and Roughness. When I worked on the Base Color, Alex recommended the Color Variation node from Ben Wilson's ArtStation Store, and it really is the real deal.
In this project, I have used Layered Materials, and the shader that I have used can be separated into two parts.
The first part is the Master Material, which contains the baked information. I assign the Texel Density of my asset. Here, I use the RGB mask, the Normal Map, the Ambient Occlusion, and the Tint Map, which is a Color Map that I apply if the asset requires it. These maps have a low resolution because they are all macro details. In this first part of the shader, I also assign a Texel Density value that my asset has in Blender because despite using tileable textures in all my assets, my UVs are all packed inside the UV space to avoid having two UV channels using Nanite, but we will come back to this Texel Density in a little.
The second part of the shader is composed of the Material Layer and the Material Layer Blend.
In my Material Layer, I have my tileable textures applied, where I have Base Color settings, a Normal Map intensity slider, Roughness settings, and both a Fuzzy and an Edge Highlight option in case the layer requires them.
As my UVs are packed in UV space and each asset has a different size, each Material Instance requires a different Texel value, so this is where we go back to the Master Material from the first part of the shader.
In my Master Material, I calculate the Texel Density by dividing 20.48 by the Texel Density that my asset has in Blender, and to this result, I apply twice an Append with value 0 to be able to use it as a Material Attribute.
Returning to my Material Layer is where I bring this value through a Mask Component node to stay only with the R Channel, and is then when I multiply TexCoord by this value and use the result as UV Coordinates for my tileable textures. This is how I can have both the macro detail and my tileable textures in the same UV channel and keep the Golden Rule of Texel Density even in very large pieces.
Let's go to the Material Layer Blend, where the things that happen happen. In the Material Layer Blend, I bring the RGB Mask, which I mentioned in the Master Material. As it is a very low-resolution map, I use it as a kind of Vertex Paint, combining it with the Height Map, from which I will extract all the details for my mask and create my Height-Based Blend.
Although the HeightLerp material function is very useful, in my case, I needed more control over the Height Map. So, I used the HeightLerp material function as a base to create my own HistogramRange material function and have more control over the Height Map.
Composition
To work on the composition, I always kept in mind the excellent art piece by which I was inspired. This is the step in which I feel that Alex Beddows' words weighed the most, as his comments changed my work significantly. We knew we wanted to respect the composition of the original concept art as much as possible, and we always worked around that idea.
As for the scatter, all the rocks and cliffs were placed by hand. For the foliage, I used Unreal Engine's foliage tool adjusting the Density and brush size values. I also used the Single function inside the foliage tools for more localized plants and some trees were placed by hand in strategic places to help the composition.
Here is an example of the before and after feedback from Alex, both in lighting and composition, which shows that his art direction really made a difference.
Lighting
To get such a diffused lighting, I used HDRI Backdrop and Skylight as base lighting, choosing a very low contrast HDR, such as a cloudy day, in order to have a base light as diffused as possible.
To get volume to the scene, I used an Exponential Height Fog and William Faucher's amazing tool "EasyFog" to highlight the different layers of my scene. I also created a volumetric material that I applied to a cube to generate the fog running on the ground.
As for direct lighting, at first, I opted for a directional light, but it filled my scene with too much light and broke the atmosphere generated by the HDRI Backgrop and the Skylight. So, I opted for Spot Light with a large scale and a fairly high Source Radius to avoid having hard shadows and thus illuminate the most important areas such as the temple, and some Point Light to highlight subtly some parts or to add some rim light. A technique that helped me a lot to avoid breaking the atmosphere was to use the Lighting Channels to be able to isolate certain geometries from some lights and not to contaminate areas that I didn't want to light.
Summary
The Ancient Temple of the Dense Forest project has taken me a total of 10 months of production.
The biggest challenge in tackling the project was to know how far to go with each asset or texture I was working on, because it was very common for me to try to get the best possible result in each task, forgetting that the most important thing was the result of everything as a whole.
Also, the biggest lesson was to realize that nothing is ever going to be perfect. Obviously, you have to do your best in every task you do, but you have to find a balance between the production times and the objective of your work, which, in this case, was the whole environment.
The most important advice I can give to beginner artists is to always have a reason behind your work, "I'm going to do this portfolio piece because I want to improve my foliage" or "I'm going to do this environment because I want to apply to X or Y studio."
At the beginning of your career as an artist, it's common not to have all these things very clear because you may not know which discipline you like the most or which one fits your profile, et cetera. But if you have a plan and a goal, when the doubts come, which will eventually come, it will be much easier to stand firm in your purpose and finish your portfolio piece.