Learn How to Create Lush Vegetation for a Jungle Environment in Unreal Engine

Ilenia Di Maria presents her latest project: an immersive environment that seamlessly blends nature and architecture. Discover the entire setup, from the majestic tree to the dense jungle, the cave, and the peaceful waterfalls.

Introduction

Hello, I'm Ilenia Di Maria, an Environment Artist who originally graduated in architecture. Although I began my career immersed in architectural visualization with 3ds Max and V-Ray, I soon realized my desire to tell richer, more interactive stories, leading me to transition into the dynamic world of 3D environment development. It's here that I've found my passion and purpose, crafting immersive digital environments that captivate and inspire.

The Lost in the Jungle Scene

This environment was made using Unreal Engine 5.3. Through this project, I desired to explore new techniques and embark on the creation of an organic environment.

I began working on this scene during my time at Vertex School. After extensive research, I came across a scene that captured my attention while watching the movie Lost City. I was captivated by its incredible landscape, which contained all the elements I wished to experiment with. I immediately knew this would be the setting for my project.

After gathering some images from the movie scene, I carefully analyzed each element, the spatial arrangement, and the distances between foreground and background elements. One of the things I typically do to analyze the project thoroughly is to sketch out the main elements of the scene in Photoshop. This allows me to focus on all areas and be more aware of the elements. 

Afterward, I created an initial blockout to visualize this space within my 3D world using Unreal Engine, and I positioned the main camera. Usually, I build the environment around the main camera to guarantee the primary view. As the project starts taking shape, I integrate the elements to confirm their suitability from various angles.

Blockout Temple

Following the setup of the space in Unreal Engine, I divided the scene into several large elements to work on them in different stages, as each required particular attention. 

The initial focus was on the temple. Here, I began studying the possible modular elements of the temple using Photoshop, sketching the various blocks on it, and creating a blockout in Maya. After that, I imported all the meshes into Unreal, enabled the Snapping function, and started assembling them. 

After that, I needed to figure out the precise architectural shapes and decorations for these elements. I studied the decorations of Cambodian temples, like the columns, capitals, etc. At first, I looked at temples from India and Thailand. However, I ended up favoring Cambodian temples.

After exploring various techniques for modeling the decorations, I chose to sculpt them directly onto the architectural elements using Nanite in Unreal. However, I faced a limitation with this approach: Unreal's lack of support for vertex painting with Nanite, which was crucial for my texture work. As a result, I applied the traditional method of using low and high poly models. 

For the textures, I implemented a combination of RGB masks to simulate stains and leaks, supplemented by vertex painting for additional detail. 

Decoration Sculpt

To sculpt the decorations, I used ZBrush. One of the quickest techniques to achieve a good and fast sculpt is by using the alpha mask. The process began with selecting an image of the desired decoration pattern. I then imported this image into Photoshop, where I refined it by converting it to black and white. This step was crucial for homogenizing the white areas, which play a key role in the extrusion process in ZBrush. 

After refining the image, I used this mask in ZBrush to extrude the shape. The process didn't stop at extrusion, and a cleanup was necessary, along with the application of various brushes, to achieve the final appearance of stone.

The entire process is well explained in Degokon Studio's tutorial on ArtStation.

After completing the sculpting of the decorations and other elements of the temple, I used the Decimation Master technique to reduce the polygon count while preserving the resolution quality. This approach ensured optimal performance in other software by preventing an overload having excessive polygons. Then, in Maya, I created the low poly version, based on the high poly model. 

Texture Temple

For the texture, I aimed to combine the RGB mask, the baked textures like Normal Maps and Curvature Maps from Substance 3D Painter, and the vertex painting in Unreal. 

To achieve this, in Maya, I duplicated the low poly model. The first duplicate was intended for texture baking in Substance 3D Painter, requiring its UVs to be organized within the 0-1 UV space. This step was essential for creating an RGB mask. 

The second duplicate, for Unreal Engine, used two UV sets: the first kept the original unwrap for compatibility with Substance 3D Painter textures, and the second was set up for more efficient texture mapping in Unreal Engine.

In Substance 3D Painter, I baked the high poly details onto the low-poly model, then painted my own RGB mask, applying additional stains and leakages. Afterward, I exported both the mask and the baked maps (Normal and Curvature Maps). To do so, I followed the tutorials provided by FastTrack.

The next step was to create the tileable texture in Substance 3D Designer. I aimed to use this project as an opportunity to enhance my skills in crafting procedural materials. 

Before diving into texture creation, I analyzed the materials' characteristics, such as the type of degradation, etc. I developed three distinct materials: rock, rock with lichens, and moss.

I mainly followed a tutorial by Javier Perez and adapted the materials to my needs. 

Final Showcase in Marmoset

The Tree

The next element I analyzed and modeled was the big tree near the temple. In my references, this tree popped out as majestic and served as a crucial element, as its shape helped to frame the composition on the left side, and together with the cave, it contributed to a sense of closure in the foreground.

To create this tree, I used the software SpeedTree. Despite being the first time I used that software, thanks to the official SpeedTree tutorial, and after following some basic examples to familiarize myself with the software, I had the confidence to start creating my own model.

One important aspect of modeling the tree was to add the basic shape of the temple inside SpeedTree and use it as a force, allowing the roots to attach and develop around it.  

My goal for this asset was to follow the reference as closely as possible, including the canopy, and the direction of the branches, and particularly focusing on the roots, as they give a sense of the passage of time and abandonment. For the tree, I utilized textures from Quixel Megascans.

The Landscape

One of the determinants of the environment was establishing the landscape, including the mountain in the background, the waterfalls, and the terrain surrounding the lake.

The idea for the foreground hills was pretty clear: I wanted the hills on both sides, forming a valley in the center, to provide a space and allow the view towards the background with the waterfalls.

One of the most demanding tasks was defining the shapes of the waterfalls and finding the right composition. After several attempts, I opted for a design with cliffs, a prominent main waterfall, and several smaller cascades along the cliff face. The waterfalls were made using Niagara VFX.

Below are some of the settings used to change the appearance of the waterfall.

To create the cliff I used the same method as the temple, low poly in Maya and high poly in ZBrush.

To unwrap the cliff I used the Transfer Attributes, which involves creating one version in very low poly and another in medium poly. I unwrapped the low poly version, which was much easier, and then, in Maya, I used the Transfer Attributes setting to transfer the UVs from the low poly version to the medium-poly version.

Below, you can find the explanation of the technique that I found on Artstation in Dannie Carlone's portfolio.

For texturing them, I used the same technique as I did in the temple: RGB mask, baked textures (Normal and Curvature Maps), and tileable texture.

For the area near the lake, I used two planes. One 4x4 plane with curved edges and distributed irregularly to avoid noticeable seams or edges. To define the line between land and lake, I couldn't use the same 4x4 plane due to shape changes with each curve. Instead, I used a second plane and I created a simple blueprint that allowed me to distribute it along a spline. For the blueprint, I followed this tutorial by Matt Aspland.

To enhance the texture details, I applied a displacement which gave the ground a realistic appearance.

Also, figuring out how to distribute the vegetation in a natural and organic way was not an easy task. Initially, I thought that I could create my own vegetation, but that was too time-consuming, and therefore, all the plants are from Quixel Megascans.

The Cave

One of the last elements I had to model was the cave around the lake. In my reference, on the right side, there was a large cave characterized by stalactites and stalagmites. Creating this part of the scene was also an intriguing challenge.

The initial stage was to determine the type of rock and shape to be used. Then, I started looking for real photos of caves with these features and how other artists had subdivided the cave parts into modules.

At the end of my analysis, I also created my own kit. As always, the first step was to create a basic shape in Maya and then export it to ZBrush.

One of the videos I followed to help me understand how to achieve this rock appearance was this "Tutorial by CityStateGames".

Here, I employed the same technique as before: a combination of low poly and high poly techniques, along with tileable textures and RGB masks.

The Fog

To separate the different layers in the environment, besides the Exponential Hegh Fog, I also used the Easy Fog tutorial by William Faucher. 

Additionally, I created a couple of animated fog, adding a fog video sequence inside Unreal. The method I used is explained in this video tutorial by Flipside 3D. 

The Water

I followed a tutorial by Dekogon Studio to create the water shader. Here, I wanted to have the ability to adjust various aspects of the water, such as the color, fade distance, number of ripples, caustics, wave speed, etc. This shader allowed me to control all these settings and achieve the desired appearance.

Additionally, I modified the original Megascans material for the ground to include a wet gradient where it touched the water.

Details

One of the final steps was to add some details to further develop and complete the storytelling. This included placing fire torches, candles, a boat, and a Buddha statue. All these assets were downloaded from Sketchfab. 

Lighting

In the beginning, I established a basic lighting setup to illuminate the scene and identify the highlights and shadows areas. Initially, I planned to use light from the back of the tree to create a God Rays effect. However, I soon realized that this approach did not effectively highlight the main focal point of the scene.

As I progressed through the project, I refined the lighting orientation to better accentuate the temple, ensuring that the light also visually marked the direction toward it. The final adjustments were made upon completing the entire environment. Recognizing the importance of lighting, I dedicated additional time to adjust this aspect.

For the general lighting, I employed a directional light, HDRI Backdrop, and Sky Atmosphere, and made adjustments in Post Process Volume. To achieve a more realistic lighting effect, I followed NVIDIA's tutorial by Pasquale Scionti.

Once I had the general lighting set up, I focused on enhancing certain key points of the scene or areas that were poorly lit. I applied the technique of the three-point lighting, primarily on the temple, the tree, and the cave. I got inspiration from the lighting artist Karim Abou Shousha.

I also set up another level with night lights to have the possibility to switch the mood.

LUT

After finishing the lighting, I added a LUT to the environment. Post-processing is all about personal preference, depending on the atmosphere and the mood you want to create.

Since I used a lot of green and red colors in my scene, I felt that they all together made the environment look flat. To balance this, I adjusted the color balance to bring the colors of the image closer to where I wanted them. 

Additionally, by adjusting the curve, I increased the contrast between the light and shadow to help enhance the focal points and add depth to the scene.

Photoshop

The final step of the process involved performing post-production in Photoshop. Here, I further refined the appearance of the image by adjusting color levels, contrast, and brightness to achieve the desired effect. I also applied additional filters and effects to enhance specific aspects of the scene and improve visual cohesion. 

This stage allowed me to adjust the final details and ensure that the image conveyed the atmosphere and narrative I had envisioned from the beginning.

Conclusion

This entire project has been a challenge from start to finish. Almost every element demanded extensive research and dedication. I found myself constantly seeking inspiration from the works of senior environment artists, aiming to create something beautiful while pushing beyond my own limitations. 

I am extremely happy with the learnings I got along the way. This journey emphasizes the importance of embracing discomfort and continuously challenging oneself to acquire new skills and knowledge. 

Moreover, I believe that drawing from previous experiences, even from my time working as an architect offered some perspectives that enriched the creative process and the final outcome.

In closing, I would like to show my heartfelt gratitude to 80 Level for giving me the opportunity to showcase this project and share my journey with the community on such a prestigious platform. Thank you for this privilege.

Ilenia Di Maria, Environment Artist

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more