Yousef Hasan shared his workflow behind the Whispering Forest project, discussing terrain creation in World Machine and setting up the mood with Environment Light Mixer in Unreal Engine.
Introduction
Hey, I’m Yousef Hasan, a 25-year-old junior 3D Environment Artist from Egypt. I’ve always been passionate about building immersive natural scenes that feel alive and tell a story. My journey into 3D art started with a fascination for creating worlds, and over time, it turned into a drive to push my skills and make my environments as believable as possible.
I love learning new things and constantly improving my workflow, especially when it comes to procedural techniques. There’s something exciting about using procedural tools to generate realistic terrains, scatter assets efficiently, and bring large-scale environments to life in a smarter way. To sharpen my skills, I took courses at Nayzek Animation School, where I had the opportunity to learn from a group of highly skilled instructors. Additionally, I expanded my knowledge by exploring YouTube tutorials and drawing inspiration from various 3D art platforms, which helped me refine my artistic and technical approach to environment design.
Whispering Forest
Whispering Forest is a 3D environment I created in Unreal Engine 5.4.4, using World Machine for terrain generation. My goal was to craft a peaceful and immersive scene that feels natural and lived-in. While I used assets from Fab, I also modeled a custom tree attached to the house to add a unique element to the composition.
In this breakdown, I’ll go over my entire process – from level design and procedural terrain creation to asset placement, lighting, and post-processing – and share what I learned while building this environment.
Getting Started: Inspiration & References
The inspiration behind Whispering Forest came from my fascination with peaceful natural landscapes. I wanted to create an environment that exudes a sense of calm and serenity. One of my key references was Peter Leban's "Environment in Unreal: Finding the Perfect Look" breakdown on 80 Level, which significantly influenced my approach to scene composition and detailing. However, rather than just following the same direction, I decided to put my own artistic spin on it – modifying elements, adjusting the atmosphere, and introducing details that align with my personal vision. My goal was to create something that feels unique while still capturing the same sense of tranquility that initially inspired me.
To begin, I gathered reference images from real-world forests, concept art, and previous 3D projects to guide my composition, lighting, and asset placement. I used PureRef to organize and analyze these references throughout development.
Initial Composition & Blockout
I started the project by creating a rough blockout in Unreal Engine 5.4.4, using basic primitives to define the composition. My focus was on ensuring the scene had a natural flow, with a clear foreground, midground, and background.
Key steps in this phase:
- House Placement: Built using modular modeling, ensuring efficiency and flexibility.
- Pathways & Foliage: Positioned trees, rocks, and pathways in a way that guides the eye naturally through the environment.
- Camera Setup: Established primary viewpoints to maintain strong composition from different angles.
Terrain Creation in World Machine
For the terrain, I utilized World Machine to generate a detailed height map. My process included:
- Creating a base height map with erosion and geological details.
- Generating masks for different materials such as grass, rock, and mud.
- Exporting the data into Unreal Engine for further refinement.
Once in Unreal Engine, I applied a procedural material that dynamically distributed textures based on terrain features.
Asset Production Pipeline
For asset production, I used a combination of Quixel Megascans and custom modeling. Key steps included:
- Custom Modeling: I created the tree attached to the house entirely from scratch, handling both the modeling and UV mapping in Maya to ensure optimal texturing and detail. I wanted the tree to stand out as a unique element in the scene, adding more character and depth to the environment.
- Quixel Adjustments: While I used Quixel Fab assets, I tweaked textures and materials to ensure consistency.
- Procedural "PCG" & Manual Placement: Some trees, grass, and small rocks were placed procedurally, while others were manually positioned for artistic control.
One of the biggest challenges was achieving a natural balance in vegetation distribution, which I addressed by fine-tuning procedural foliage settings.
Final Scene Assembly & Lighting
I structured the final scene using a mix of procedural and manual workflows to ensure a rich, organic feel.
Lighting Setup
I created both daytime and nighttime lighting scenarios:
- Day Mode: Soft, natural sunlight with subtle fake god rays.
- Night Mode: A peaceful moonlit setting with fire torches and Unreal Engine's built-in fire effects (UNE content).
To build the lighting, I worked with Environment Light Mixer inside Unreal Engine, utilizing the following elements:
- Directional Light to define the primary light source and set the overall mood.
- Sky Light for natural ambient lighting and realistic reflections.
- Volumetric Clouds to enhance the depth and realism of the sky.
- Sky Atmosphere to control the interaction between light and atmospheric effects.
- Exponential Height Fog to add cinematic depth and a sense of scale.
I fine-tuned each of these elements to match the intended mood of the scene, ensuring a balanced and immersive lighting setup.
For shadows, I used Ray-Traced Shadows to achieve dynamic and realistic depth.
Post-Processing & Mood Setting
To refine the final look, I applied Post-Processing Volume, adjusting:
- Exposure & Color Grading
- Bloom & Lens Flare
- Volumetric Fog & Ambient Particles
- P_Ambient_Dust (customized for atmospheric depth)
I also utilized the Niagara System to add floating particles and enhance the sense of immersion.
Challenges & Lessons Learned
The project took several weeks to complete, and the biggest challenges were:
- Balancing Procedural & Manual Workflows: Ensuring the natural distribution of assets.
- Lighting Optimization: Achieving the right balance of shadows and highlights.
- Performance Considerations: Keeping the scene optimized without losing quality.
Throughout the process, I learned valuable lessons in level design, procedural generation, and lighting techniques.
Final Thoughts
This project was an incredible learning experience, allowing me to push my skills further in level design, procedural workflows, and lighting.
I took a lot of inspiration from Pasquale Scionti, his artistic style really influenced how I approached lighting and composition in this project. The way he creates atmospheric depth and realistic lighting had a big impact on my vision, and I wanted to capture a similar sense of mood and immersion in my scene.
I had the privilege of working under the guidance and supervision of Mina Dawoud, an Instructor at Nayzek Animation School, who provided valuable feedback throughout development.
A big thank you to everyone who took the time to read this! I really appreciate your support and interest in my work. Hope you enjoyed this project as much as I enjoyed creating it! There’s a lot more to come, so stay tuned for my upcoming works.
You can check out more of my projects on ArtStation.