Cozy Cabin

3D Environment Visual Storytelling in UE4

Project Overview

“Cozy Cabin” is a 3D environment storytelling project that I created using Maya, Adobe Substance 3D Collection, and Unreal Engine for my M.A. Visual Effects project at Savannah College of Art and Design. As a 3D artist, I have experienced the differences between traditional rendering and real-time rendering, which has allowed me to fully explore the complexity of shading and lighting in my work. I am excited to share my project with you and hope that you will appreciate it

Role: Concept, Design, Model, Shading, Lighting, Rendering, and Compositing.
Sound Design by Hairong Zhao


I found inspiration in the Secluded Treehouse in Atlanta, Georgia for my project. Its unique design and use of natural materials appealed to me. To enhance my design, I found multiple windows on Pinterest that let in natural light and provided unobstructed views of the outdoors. The Secluded Treehouse also reminded me of the importance of connecting with nature, which I incorporated into my project to create a space that is both functional and restorative.


Left: Secluded Treehouse in Atlanta, Georgia Right: Intetior lighting reference

Color Script

My goal is to create a 3D environment that tells a visual story from night to morning. To achieve this, I’m enhancing the color script by overlaying it onto a screenshot from Maya. You can see my color script process in this video

Color Script Process


As part of this project, I took the initiative to draft a model in Autodesk Maya, which accurately captured human height measurements.

This initial step was crucial to ensuring that the final output was realistic and visually compelling. I also make UV Mapping with a single map method because It is simple and easy to use.

Next, I focused on blocking the camera movement, which involved setting the camera positions and angles for each shot. This step helped to establish a clear visual narrative and ensure that the viewer’s attention was directed towards the right elements in each scene.

3d cabin in Maya

Level in Unreal Engine

To demonstrate, this procedure involves moving 3D resources from Maya to the assembly stage in the real-time rendering tool Unreal Engine. I begin by dividing each object into FBX files and importing them into the UE level. Additionally, I design terrains and vegetation to accentuate the cabin’s appearance.

In Unreal Engine, naming conventions are crucial as they enable effortless asset classification by type. From my perspective, being systematic in this step is key to maintaining an organized workflow.

sculpt landscape and import all asset in Unreal Engine


In this context, the texture is categorized based on material type, taking into account attributes such as color, roughness, reflection, refraction, subsurface scattering, translucency, and transparency. This classification is not based on whether a material is a conductor or non-conductor. Rather, it focuses on the visual and optical properties of the material. These properties can be visualized through the output texture of the creator software.

For instance, aged wood is an example of a non-conductor material that appears brown and lacks glossiness. On the other hand, glass typically has a blue tint and exhibits high levels of reflection and glossiness. By considering such material properties, creators can generate more accurate and realistic textures that simulate the appearance of real-world materials.

I used Substance Painter to export five different types of maps: BaseColor, Emissive, Height, Normal, and Occlusion Roughness Metalness (ORM). In Unreal Engine, it’s important for artists to optimize their assets to ensure fast preview times.


Real-time rendering systems use a different approach to shading compared to traditional rendering systems. To create a material in real-time rendering, one typically starts by creating it from scratch in a program like Unreal Engine (UE) and connecting various input nodes such as vectors, parameters, and texture maps to material nodes. This approach offers greater flexibility and allows the user to easily break physical rules when creating materials. In contrast, traditional rendering engines like Arnold, Redshift, or Renderman have built-in nodes that require the user to set specific attributes. This approach is more restrictive and requires the user to adhere to physical rules when creating materials.

When working in the Unreal Engine, I begin by setting up a standard lighting setup for the entire project, consisting of an HDRI and directional light. This allows me to focus solely on material creation without worrying about changes in lighting. Additionally, Unreal Engine provides a set of useful tools to assist in creating accurate and realistic materials, such as the Macbeth checker and reference balls which can be accessed from the visual effects tool tab in Unreal Engine. These tools offer reference points for color and lighting, enabling the user to create materials that are both visually appealing and physically accurate.

shader and lighting setup in unreal engine
glass material shader connection
wood material shader connection


I created a night and morning scene on a single level in UE by using separate sequencers for each time of day. To achieve the desired lighting, I separated each shot and manually added individual lights in Unreal Engine. Typically, I utilize one HDRI and several spotlights. For instance, in the bridge shot, I incorporated multiple spotlights to emulate a fairy light effect. 

a lot of lights in bridge shot
all of lighting shot


For my project, I decided to use ray tracing because I wanted to gain a deeper understanding of real-time rendering techniques. Specifically, I employed ray tracing for rendering purposes. To enable this feature, I began by selecting Direct X 12 and configuring the Ray Tracing settings within my project. If you’re interested in learning more about ray tracing, you can find additional information by following this link.


Studying in the Unreal Engine system has given me an appreciation for the significant differences between traditional rendering and real-time rendering, especially in shading and lighting systems. This project, part of my MA studies, required me to design, model, shade, light, render, and composite. Using TurboSquid’s bed and sofa models, I created a visually stunning 3D environment that could be rendered in real-time while maintaining a high degree of realism and detail.

Developing a lighting system that could accurately simulate natural lighting conditions was a significant challenge. I had to create a dynamic lighting system that would adjust the lighting based on time of day and weather conditions while ensuring consistency across all the assets in the scene. Additionally, creating realistic shading effects required a thorough understanding of the physical properties of different materials and how they interact with light. 

To complete the project, I worked on sound design, collaborating with Hairong Zhao to create soundscapes that would help enhance the overall immersive experience of the environment. I would like to express my gratitude to my adviser, Ariyawat Meechoui, and Professor Andres Galeano, Tatchaphon Lertvirojkul, for their invaluable assistance and helpful suggestions. Their guidance and support were instrumental in helping me bring this project to fruition. Overall, I hope this article will help those interested in creating visually stunning environments and immersive experiences, and I welcome anyone with questions or need more information to contact me at