Zsolt Jackli discussed his approach to Autumn in the Mountains project, a UE4 scene created during CGMA's course Vegetation and Plants for Games. During the project, he experimented with various techniques and broke down the production of the Gate and vegetation.
In case you missed it
Continue your study
Hi, my name is Zsolt Jackli, I am originally from Hungary and currently working at Bigpoint in Hamburg (Germany), on a mobile title called Wefarm as an Environment/Level Artist.
I started my 3D career back in 2008 when I was introduced to 3D and decided to quit the office work to pursue my creative dreams. Over the course of several years, I lived in different countries and had the opportunity to work on various titles for different platforms such as Overwatch (PC), Silent Hill: Shattered Memories (Wii), Perfect Dark XBLA, SBK09 (Pc, Xbox 360), Race Pro (Xbox 360), Magic 2 Master MMORPG (PC), Heroes Realm (Android, IOS), and Blood Runs Cold (Android, IOS).
I find recreating nature in 3D very fascinating and wanted to learn more about it. Moreover, I wanted to find fellow artists who I can exchange ideas and experiences with. Thanks to CGMA and its course Vegetation and Plants for Games, this became possible. On top of that, I could connect with one of the experts of this field, Jeremy Huxley, who shared his valuable experience during the course.
Autumn in the Mountains
A real-world location was used as inspiration. I am really interested in South Korea in general, Korean culture, food, and language and visited South Korea a couple of times already. During my visits, I always go to discover new places and once I went hiking in Seoraksan National Park. The diversity of nature and the beautiful scenery had a huge impact on me and I wanted to recreate that feeling in the Unreal Engine 4 scene I made during/after the course. The scene itself came from my imagination but was based on the place.
My topic of choice was not a coincidence because it has a symbolic meaning for me. At the time I created this scene, I reached the next milestone or “gate” in my life and 3D career. The path leading there was rocky but I managed to do it and it was a great journey after all - just like the difficult but uplifting hiking experience I had in Seoraksan.
Modeling Tools Used
For me, this course was also an opportunity to experiment with different techniques and polish my workflow. In general, my main modeling tool is 3ds Max, but since it was an experiment for me, I created some assets in ZBrush from scratch and optimized them in Max after that to get the low poly versions. I wanted to see if this approach could be useful and if I could utilize it in another project. I don’t think there is one best tool - I use the tools that are suitable specifically for the task and for me.
When it comes to creating a texture, it's important for me to work with the right values and understand how colors are working together in order to be able to create a certain mood or impact I want to achieve.
Substance Designer was heavily used to create procedural tileable textures such as the wood pattern on the gate or the ground variations. The way SD works by connecting nodes to create shapes and patterns is an interesting concept but it was too unusual for me and hard to get into at first. However, the more I used it the more I got hooked on it. Understanding how it really works was a task that took a lot of time and I am still learning new things, but I was able to create seamless and tileable textures in a fast way.
At the same time, Photoshop is still a must-have tool for me. I still feel most comfortable using it. For instance, I drew the ornaments of the gate or organized/ adjusted textures there. Apart from these two things, I also used Substance Painter to texture the rock piece I have in the scene. This is a really powerful tool to texture your asset in 3D.
Creating the Gate
The gate was a tricky asset. Not only was it complex but I also did not plan to have it in the first place. After realizing my scene was missing a point of interest, I decided to add something. First, I was not sure what I wanted to have as a hero asset but as I explained the personal meaning of the scene above, I decided to pick the Korean gate. I chose quite a complex object and had to rework the major part of the scene to make space for it but it was totally worth it.
To create the gate I set some rules for myself at the beginning which served as guidelines:
- Because of its size and complexity, I wanted to avoid having the whole gate unwrapped without having the option to reuse textures. Also making a high poly version of it to bake the maps would not have been an efficient approach. Instead, I decided to make it modular because if you observe a gate closely it is symmetrical, and a lot of shapes and patterns are repeated. A perfect candidate to be a modular asset.
- Use 1 albedo map only and as few textures as possible.
- No polycount limit. Due to my second rule, I ended up modeling all the pieces of the gate because some elements were too small on the albedo texture and did not have enough detail.
These rules were set to challenge myself as I had to deal with some limitations and think about the ways to overcome them.
I looked up references and decided to combine different types of gates together to create something unique. Understanding the shapes, forms, and connection between them was important to be able to create the modular pieces. Then, I created a simple blockout with the right scale so that I could rework the scene based on that.
When I modeled out the pieces, I did a quick unwrap on the ones I knew were going to be repeated. This helped me when I assembled the gate to modify all the copied ones at the same time.
In order to be able to add the details to the wood, rock, and roof, I created custom UV channels. This way, I had high pixel density and was able to texture the gate using only 5 textures: 1 albedo, 1 mask texture (Red channel – Dirt/Lightmap, Green channel – Rock roughness, Blue channel – Wood roughness, Alpha channel – Edgewear details), and 3 normal maps (wood, rock, roof details).
Approach to Vegetation
The fact that I experimented a lot in this project also involved the way I created the vegetation. I used multiple solutions and different methods for different assets. To sum it up:
- The grass was made in ZBrush using nanomesh and baked on a plane with patches assembled in Max.
- The main branches and trunk of the tree were modeled in Max, the smaller branch was made in ZBrush and baked on a plane.
- The fern and other plants were made in ZBrush and baked on a plane with the variations of each plant assembled in Max.
- The fallen leaves on the ground and on the roof were made 100% in Substance Designer.
Keeping the Scene Organized
I created a folder structure for my imported assets, textures, and materials as well as the scene itself to keep everything organized. The scene might look simple but the scene required some organized structure because I had a lot of duplications. For instance, only one tree and one rock model were used to create the forest and the mountain.
I tried both the baked lighting and dynamic lighting in Unreal 4 but in the end, I decided to stick with baked lighting.
I also wanted to keep the lighting as simple as possible. I am not a lighting artist so I had to go down the rabbit hole and learn more about it. I read about and analyzed other artists' artworks and did a lot of tests until I got the final result. What I ended up using was a combination of directional light, skylight with a custom cubemap, exponential height fog, and atmospheric fog. I tweaked the values of these and paid attention to how they work together and impact the look of the scene.
The biggest challenge was time. I attended the course after working time and altogether, it was really intensive. At the end of the course, the version of the scene I had was far from being finished, so I had to find a way to polish it after that. The solution for this challenge lay in proper planning and learning how to use my free time efficiently.
It was a good idea to take this course. I learned valuable lessons, for example, how to test something quickly and efficiently and make decisions quickly. If you spend a lot of time on one thing, it is very easy to go sideways. I learned how to focus on one thing for a longer period of time while still enjoying the process. The experiments with different solutions were time-consuming but in the end, I could pick the ones I liked and integrated them into my workflow.
During the course, Jeremy gave me all the freedom because he wanted to see how I would deal with the challenges. But at the same time, he was always there to give guidance if I got stuck or point out my mistakes so that I could learn from them.
My next step is something I have been doing continuously already - keep working on my skills, learn new methods, explore, and experiment with new ways. For this reason, I participated in the recent MeetMAT 2, a texturing contest from Substance. Currently, I am working on a new personal project.