Recreating Cleopatra's Temple from Assassin's Creed Origins in Unreal Engine
Sungeun Moon showed us the workflow behind recreating Cleopatra's Temple from Assassin's Creed Origins, discussing modular architecture, mosaic textures made in Substance 3D Designer, and lighting the scene for different times of day in Unreal Engine.
Introduction
Hello, my name is Sungeun Moon, and I am a 3D Environment Artist based in South Korea.
I majored in History at university and first became interested in 3D environment art while creating a historical animated series for children using Roblox. Since then, I have developed my skills and explored different techniques and approaches to 3D environment creation through various personal projects.
I am currently working as an Environment Artist on a stylized game project, and I continue to broaden my understanding of different art styles and improve my skills through personal projects and ongoing learning.
Getting Started with Cleopatra's Temple from Assassin's Creed Origins
This project was inspired by Cleopatra's Temple in Assassin's Creed Origins.
When I first saw this location in the game, I was particularly impressed by the atmosphere created by the pond in front of the temple and the surrounding vegetation. I was also drawn to the striking, beautiful use of red as the temple's main color. These visual elements inspired me to start this project.
I wanted to explore a modular workflow by creating reusable architectural assets that could be combined in different ways and used across multiple spaces. To achieve this, I carefully studied the architectural structures and recurring elements in the game, considering how to design and organize the modules for efficient production and reuse.
Composition & Blockout
I started the blockout by using simple shapes like boxes and cylinders to build the basic structure and layout of the temple. Since I had never visited the temple in person, I not only studied photographic references but also explored the location in Assassin's Creed Origins to get a better sense of the scale and proportions of the architecture.
After that, I placed a default character in Unreal Engine to compare the architecture's size with the character's height. I then adjusted the overall proportions to establish the scale of the space.
With the scale in place, I moved on to the floor textures, as they cover a large area of the scene. The temple features many mosaic tiles. By creating these tiles myself in Substance 3D Designer, I deepened my understanding of the tool and improved my skills with it. I will explain the creation process and how I learned to use the tool in more detail later in the interview.
Creating Modular Assets
After that, I analyzed in-game screenshots I captured directly from Assassin's Creed Origins to plan the architecture's modeling and texturing.
I planned how to divide the columns into modular pieces, which tile textures would be needed for the walls and floors, and how to create the repeating decorative patterns on the ceiling. I also looked at the decorative elements used throughout the architecture and considered which parts could be created more efficiently using Trim Sheets.
During this process, I marked and categorized the necessary architectural elements directly on the reference images to organize my overall approach to creating the environment.
I used ZBrush to create the columns and reliefs. For the columns, I was careful not to make the cracks and surface damage too noticeable. For the reliefs, I studied references to recreate their shapes and depth. I also created the decorative patterns on the temple's pediment using Substance 3D Designer.
After finishing the main architectural elements, I added props to the scene. I grouped several props and placed them throughout the environment to add detail and make the space feel more natural and lived-in.
I created the water material directly in Unreal Engine. For this project, I wanted to create clear water with caustic effects visible beneath the surface.
I followed YouTube tutorials by Ben Cloward and WorldofLevelDesign, which helped me achieve the look I wanted quickly and easily.
For the vegetation, I mainly used Megascans assets and created additional plants in SpeedTree when needed.
For the ivy growing along the walls, I wanted it to look natural as it followed the shape of the architecture. To achieve this, I used the wall mesh as a base to generate the ivy in SpeedTree.
Instead of using the result as-is, I divided the ivy into reusable sections. I removed unnecessary meshes and placed these sections in different parts of the scene.
For this process, I referred to a SpeedTree tutorial by MOT Studio on YouTube.
Retopology & Unwrapping
For retopology, I used ZBrush's ZRemesher or manually retopologized the models in 3ds Max, depending on each object's shape and characteristics.
Since I mainly used Trim Sheets and tileable textures in this project, I paid close attention to the texture layout and resolution of each section during UV unwrapping.
For Trim Sheets in particular, I needed to fit multiple decorative elements into a limited texture space. Therefore, it was important to plan how much texture resolution to allocate to each section in advance.
Rather than creating the final textures right away, I first used photo textures to plan the rough layout. I then applied these textures to the models and adjusted the size and proportions of each section while checking whether the necessary details were clearly visible.
Through this process, I identified areas that needed more texture space or additional elements. Based on these findings, I adjusted the texture layout as I continued working.
This approach also helped me identify problems before creating the final textures, reducing unnecessary rework.
Texturing
This project was a great opportunity for me to learn and use Substance 3D Designer more seriously. Since I had mainly used Substance 3D Painter before, I wasn't familiar with the node-based workflow in Substance 3D Designer. However, I gradually learned how to use it by creating various textures for the temple.
The first texture I created was the temple's mosaic floor texture. Since I was still unfamiliar with Substance 3D Designer's workflow, I learned by following YouTube tutorials and studying the node setups in free Substance 3D Designer files shared by other artists.
To create the mosaic patterns, I combined basic shapes like circles and squares, then used nodes to turn them into mosaic tiles. When the basic shapes weren't enough to create the patterns I wanted, I used the SVG node to draw custom shapes.
After completing the more complex patterns, I moved on to the Base Color. Since I had already gained experience combining different nodes to create the patterns, working with colors felt easier.
The Gradient Map node was especially useful. By setting the colors in a gradient, I could apply different colors based on the brightness of the input grayscale image. This made it much easier to create a variety of color variations.
When creating textures, I often find interesting details in references and ask myself, "How can I recreate this?"
For example, when creating the roof texture, I wanted to recreate the lichen I noticed in the reference images. I was particularly interested in the irregular outlines of the lichen.
First, I looked through different Grunge patterns to find one that was closest to the shape I wanted. Then, I used the Histogram Scan node to make the pattern smaller and subtracted it from the original Grunge pattern using the Subtract blending mode. This allowed me to create the lichen's irregular outlines relatively simply.
This process taught me how useful it can be to think about which nodes to combine to create the details I want when making textures.
Assembling the Scene
When putting together the final scene, I focused on reducing the environment's repetitive look and adding more visual variety to make the space more interesting.
At first, I placed the trees on both sides of the temple evenly, but the overall scene looked too uniform. To improve this, I varied the sizes of the trees and added obelisks and modular architectural pieces to create more variety in the silhouette.
I placed smaller decorative props based on each area's purpose. Around the statue in front of the temple, I added altar-related props to bring more detail to the previously empty floor. Along the walls beside the temple, I placed items that soldiers guarding the temple might have used to make the environment feel more detailed and lived-in.
I also used vegetation extensively in this scene. I placed ivy along the architecture to help the buildings and plants blend naturally. In the pond in front of the temple, I added plants that extend above the water's surface to break up the water's flat, uniform look.
For the pathways, I used dirt decals and piles of fallen leaves to add more natural details to the ground.
Lighting & Rendering
I believe lighting plays an important role in shaping the mood and overall impression of an environment. When I think about the environment art pieces that have impressed me, most of them used lighting effectively to convey the environment's atmosphere.
When analyzing lighting references, I pay close attention not only to the sky's color but also to the colors and brightness levels of areas in direct light and shadow.
I usually bring my lighting references into Photoshop and use the Eyedropper Tool to check the color values of key areas. Then, in Unreal Engine, I adjust the Directional Light and compare the colors and color temperature of the directly lit areas with the reference. For the shadow areas, I use the Sky Light to adjust the color and brightness of the ambient lighting.
Since this project included three different times of day – daytime, sunset, and night – the color of the sky was also important. To achieve the atmosphere I wanted for each time of day, I adjusted the Rayleigh Scattering settings in Sky Atmosphere. I also continued comparing my scene's colors with the references in Photoshop to get closer to the look I wanted.
For the final adjustments, I used the Post Process Volume in Unreal Engine to fine-tune the color temperature and Color Grading. I tried to achieve most of the atmosphere through lighting, using post-processing mainly to bring the scene's colors together naturally.
For the final rendering, I used Unreal Engine's Movie Render Queue. I rendered the cinematic as an image sequence, then imported the images into Adobe Premiere Pro, where I combined and edited them to create the final video.
Conclusion
This project took about six months to complete. Since I worked on it after my regular working hours, it took quite a long time to finish. However, seeing each part of the project gradually come together gave me a great sense of accomplishment, and that feeling motivated me to keep going until the end.
One of the biggest challenges during the project was applying techniques I wasn't familiar with. In particular, I started learning Substance 3D Designer more seriously through this project, so it wasn't easy to achieve the results I wanted at first. However, by studying different resources and trying things out myself, I gradually became more comfortable using it.
For those just starting out in 3D art, my advice is to try making things yourself and not be afraid to ask questions. I also found that following tutorials and practicing on my own helped me find the gaps in my knowledge far better than simply watching them. I learned a lot by researching questions that came up during my work and asking more experienced artists for advice. What I learned through this process has stayed with me for a long time.
When I first started learning 3D art, I didn't even know what UVs were, and I wasn't sure where to begin. Fortunately, I had the opportunity to meet Subspain, who taught me a wide range of art styles and techniques, from the basics of hand-painted texturing to realistic environment art. I would like to take this opportunity to sincerely thank Subspain for all the guidance and support that have helped me learn and grow as an artist.
I hope to continue learning, improving my skills, and creating better work in the future. Thank you for taking the time to read my interview. I hope my experience has been helpful or inspiring to some of you.
Finally, I would also like to sincerely thank Emma Collins, Editor at 80 Level, for giving me the opportunity to share my project!