3D Environment and Prop Artist Aakarsh Gupta shared the workflow behind The Final Ascent project, explained how the scene's assets were modeled and textured, and discussed the lighting setup in UE5.
Hello, my name is Aakarsh Gupta. I’m 24, I was born in Jamshedpur, India and now live in Bangalore. I’ve been doing 3D modeling for one year. I studied engineering at a University and worked as a Data Analyst for almost a year, but my true passion was to be working in the video games industry, so I decided to work towards it, and 3D art is what I gravitated towards, within the domain of environment art being the most suitable for me, as I’ve always loved the way a game looks and the story that is told through these environments.
I started learning 3D modeling mainly through online tutorials on YouTube as a hobby, and as I gained proficiency in the basics of 3D modeling combined with my love for video games, I decided to join a school that would help me hone my skills and help me break into the gaming industry and that's how I discovered Vertex School.
What stood out to me about Vertex School was its commitment to making art school affordable and its mentorship programs taught by professionals already working in the industry. My main aim in joining a school like Vertex was to learn the processes/pipelines used by industry professionals and adapt them to my workflow and also to learn more about applications like Substance 3D Painter, Maya, and ZBrush.
The Final Ascent Project
I started The Final Ascent project with a simple blockout, matching the perspective of the main camera as close to the reference as possible. This took up a lot of my time, as I wanted the main shot to be accurate to the concept but also wanted it to make sense as a game level, i.e. the player should be able to reach from point A to B.
One of the things which I found super useful during the blockout stage was the use of Megascans assets for my initial blockout, this saves a lot of time and you can already have a sense of how the scene will look in the engine. Then I used SpeedTree to create the first iteration of my tree, which is used throughout the scene. Since this was my first time using SpeedTree, I decided to use a template that is already provided and made some tweaks. I planned on changing them once I got more comfortable with the software.
The models were fairly simple for this project. I used the mid poly workflow for most of my assets and tried to make the assets near the camera more detailed. The scenes also re-uses a lot of assets so modeling hard-surface assets didn't take up much time.
When I got to work on the rocks, I set out to create two modular rocks which could be used in different ways throughout the scene. I started with creating a basic mesh in Maya with simple shapes overlapping each other, then I exported it to ZBrush and began sculpting, while constantly using DynaMesh.
For rocks, the main thing to keep in mind was to not have very sharp edges. The two main brushes I used were Trim Dynamic and Clay Buildup. Once satisfied with the overall shape and details of the rock, I used a few rock alphas to complete the sculpt.
Coming to the temple I wanted to reuse my knowledge of modular buildings. I created several parts for the temple which could be reused to create 2-3 different temples using just a few assets. The models are fairly simple, the main idea was to use the modular approach. For the roof, I placed the tiles individually to give it some detail.
I used this project as a way to learn SpeedTree. I created a small branch structure in SpeedTree, which I later used as a mesh along with leaf textures from Quixel Bridge. The leaf meshes were also created in SpeedTree. I found this workflow on Artstation learning in a great series by Dekogon Studios. For other vegetation I used Megascans.
I used Substance 3D Painter for all of my texturing tasks. In general, I follow some rules for texturing assets. Once done with the Base Color layer, there needs to be some Roughness variation, color variation, and gradient to make it look closer to reality. I follow these three steps for all my assets while detailing depends on the individual assets.
Assembling the Scene
I used Unreal Engine's Landscape Sculpting Tool for my landscape. For texturing, I used the Material Blend plug-in in UE, as I love the ease of using it and also the realistic puddle feature it provides.
I used the Material setup attached above for flowing waterfalls and used splines to give them shape. I also used Niagara to create water splashes.
Niagara was also used to create falling leaves and fireflies in the scene.
Lighting and Composition
Lighting is something I found quite challenging. I used Dynamic Lighting for this scene, so no baking was involved. I wanted this scene to be lit up mostly by ambient light and the lights emitted from the lamps. I used Point Lights to highlight areas of interest.
I wanted to achieve a look that was a little dark. I achieved this by using a noise texture in the light function material of Directional Light.
Jake Dunlop was my mentor for Term 3 and he helped me a lot with this project. He helped me with problems I faced in Unreal Engine and the overall composition of my project. The mentorship wasn’t about holding my hand to create an environment but rather about feedback and areas I can constantly improve, and resources that I can use. Jake was a great teacher and I enjoyed my time working with him.
My overall experience with Vertex has been phenomenal. I feel like I have learned a lot during these ten months. The staff and mentors were super helpful and the best thing about it is I have lifetime access to their services and they are committed to helping out their students become a part of this industry.