Professional Services
Order outsourcing

Harry Potter-Inspired 3D Room in Chinese Style Made With ZBrush & UE5

Ziyi Wang shared with us a 3D project where ZBrush, Unreal Engine, Maya, and Substance 3D Painter were used in order to create an atmospheric Hogwarts-like room in the Chinese style.


Hello, everyone! My name is Ziyi Wang, and I'm a 3D artist from China, based in Toronto. I've been passionate about art for as long as I can remember. I've studied various types of art and design over the years. I graduated from an art university majoring in digital design. In 2019, during my last year of university, I got interested in 3D, and then I started learning from online sources. Soon after, I was self-taught in Maya, Substance 3D Painter, Unreal Engine, and other tools. 

In 2020, I was fortunate to connect with Rahim Rahimi, a Senior Environment Artist, who constantly inspired me with his art. He generously shared with me many useful insights and sources, such as tutorials that I purchased and followed step-by-step. This helped me correct flaws in my pipeline and figure out better ways of optimization, UV unwrapping, baking, etc. I found my passion in 3D and decided to pursue a career path as a 3D artist.

Right after, I started my first job as a 3D artist at Huawei, and I was working with the PBR workflow for two years. However, joining the game industry was always my ultimate goal. I was looking for mentorship for more straightforward professional guidance, so I could improve my workflow and enhance my skill set. I stumbled upon the platform SkillTree and decided to take a mentorship with Billy Matjiunis.

The Idea Generalization And References 

Most of my previous projects were assets, so this time I wanted to create an environment that tells a story. 

I wanted to create something that relates to my heritage and culture. I was obsessed with 20th-century Chinese interior style. The so-called "tube-shaped apartment" constructed in that era, influenced by the communist Soviet Union, had a very uniform and specific aesthetic.

It might be that nostalgic element, something that provoked a memory from our youth. As Chinese born in the 1990s, many of us might have lived in one of these places during our childhood, or from a distant memory, we might visit or pass by one of these buildings that our grandparents or someone in our families had lived in.

At the same time, growing up reading Harry Potter and being a true Potterhead, I always was intrigued by the wizarding world.

The final concept is the combination of these two themes. I decided to build a study room that belonged to a girl, a young wizard, who was born and lived in 20th-century China, and who attended Hogwarts wizarding school as an international student. She would use this space to study, mix potions, and practice magic spells. 

The focal point would be a corner of her room and a desktop area. I decided to keep the scene on a smaller scale to make things tight and focused.

For the room structure, I was inspired by Dennis Severs' house. I think the half wall next to a window was a very interesting structure. And by looking through many historical resources, and examining the interiors of many old Asian buildings, I was able to reconstruct a more accurate Chinese-inspired space.

On the magical side, I looked at references mainly in three different directions. Chinese ancient medicine stores, Taoist priests (pretty much the Chinese version of witchcraft) for the character's Chinese heritage, and some Western wizardry settings, since she would be studying in a foreign country as an international student. 

I took lots of inspiration from The Kam Wah Chung general store and Apothecary, a unique old Chinese medicine store that opened in the United States in the 18th century, which had a fascinating combination of old Chinese and Western culture.

The Planning Stage

After researching and gathering references, I started planning my assets. I separated all my props into two categories: basic room assets and magic items that reflect the wizard's identity. 

Laying out all the assets I decided to build, I organized them from principle to easy. Where principal assets would be larger and have more details, and easy assets would be less noticeable in the scene and easier to make.  

This approach helped me to have better control of my props and gave me a clear picture of which items needed unique textures, where I needed to put more details, as well as which assets could share similar tillable textures and add blend masks, etc.


Once I was satisfied with the reference board and finished planning most of my props, I started making a blockout and then imported them to Unreal Engine. 

For the blockout meshes, I kept everything as simple as possible, since the main purpose was to settle on design and composition. 

Although the blockout was simple, I spent a good amount of time arranging the scene to help me visualize scale, composition, and overall design. It also gave me the ability to know whether to add or remove objects and make changes during the early stage of production when something didn't seem right. It also saved me more time in the later modeling stages.   

Additionally, I played with camera angles and set main cameras. This helped me decide which assets needed to be prioritized and have more polish.

Modeling and Texturing

Once I was happy with how I blocked out and arranged the scene, the fun part, which is modeling and texturing the props, began. I followed a high-to-low poly workflow for the assets with unique textures. I made a base mesh in Maya, then brought it into ZBrush to sculpt all the details, then baked the high poly on top of the low poly mesh by using Substance 3D Painter or Marmoset Toolbag

I tried to keep the tri-count relatively low but maintain a good silhouette and keep most of the information in the Normal Maps. In order to give props some imperfection, I manually bent edges here and there, moving around verts to avoid perfectly straight and clean lines, aka made sure nothing looked too "perfect". Although it wasn't that noticeable, these small touches helped the result look less rigid and more life-like.

As for the coin, I made a Displacement Map in Photoshop and then imported it to ZBrush. Later on, I baked it into a low poly mesh in Substance 3D Painter as a Normal Map. Although it was a very small asset, I believed that having a few small and detailed pieces for close-up shots with interesting details would help to bring a lot to the storytelling and make the scene look more delicate.


Making tillable materials and working with blend masks was a challenge for me, as I never did this workflow before. I was excited to learn this new method from my mentor Billy Matjiunis. 

It was also my first time using Substance 3D Designer. I had a lot of fun playing around with the nodes. I created the wood grain by combining different types of nodes. After that, I applied the Gradient Map node for coloring. I made sure I looked closely at real-life references and imitated those details by adding different colors to the gradient editor.

After I finished most of the wood materials, I began making the props. I started with this wooden table made in Maya with some simple shapes and a few bevels. I created two different UV sets, one for tiling materials and the other one for masking. I made the UV2 mask by baking it in Substance 3D Painter, which would be used in Unreal Engine to create edge wear and dirt. I connected them by using RGB Channel masks (which are shown below).

I made several similar wood materials with different colors and applied the same blend masks method to texture some other props, such as the small bench and boxes. 

I used the same method for my walls and floor. I made the base mesh in Maya and set up the RGB blend mask textures in Unreal Engine. I multiplied a few additional color nodes with the tiling texture I made to further adjust the colors of the base material, cracking concrete, and dirt layer. 

I always use material Instances for better control and keep tweaking the parameters until I get the most pleasant results.

If we speak about the floor, I used the exact same method which was applied to the wall. Additionally, I added a vertex paint layer and connected it to R-Channel to add some extra moisture to the floor. Other details like the magic circle on the floor, I layered them on top as decals. I played with the composition and colors to reach the desired results.


From my perspective, lighting can be pretty challenging since it really sets the overall mood and tone of the entire project. Good lighting can significantly bring more life and make a scene look better. Studying films and photographs helps you to give a better understanding of how lighting crafts the composition and tells stories. 

For this project, I wanted to illustrate a very settled, safe, nostalgic, warm, and cozy atmosphere. I aimed to give feeling to the audience as if they were spending the summer holidays at their grandma's, just waking up from a nap in the afternoon, and the sun was going down bringing golden rays, almost felt like a lucid dream.

Before I started, I made sure I disabled all the presets and started completely from scratch to avoid any undesired effects. 

I started by adding an HDRI Backdrop as a base, which I downloaded from Poly Haven. I tried many HDRIs until I found a green-toned summer afternoon setting that fitted my needs. 

The main light source was the directional light. I adjusted the sun direction to the afternoon sun direction and gave it a slight orange-yellow tint. I lowered the intensity and increased the Indirect Lighting Intensity to give the lighting a softer ambiance. 

On top of that, I added a spotlight outside the window to imitate sunlight, bringing some interesting shadows into the scene. Other than that, instead of having the spotlight in orange again, I changed it to a slight pinkish-orange tint to give off some "golden hour" lighting.

Moreover, I added some subtle secondary lights to brighten up some dark areas. I added two-point lights and gave them a blue-green tint to incorporate some cool tones, giving some contrast of temperature. This also gave some interesting, blue-toned highlights to the reflective objects. Lastly, I placed the Rect Light on the middle top to light up the dark corners. 

For the god ray, I simply added the Exponential Height Fog. I kept the number low to give a very slight and settled light shaft effect.

The Post-Processing Stage

I did all my color grading in Unreal Engine 5 with the Post-Process Volume. Since my main light sources were in warm tones, I played with mid-tones and shadow colors to give it a more greenish-blue tint as a contrast. 

I also added lens flares and some pink bloom as a final touch. 

Final Words And Thoughts 

I had a lot of fun creating this scene. Since the whole process spanned six months as I was busy working full-time, it was quite challenging.
I feel very lucky taking the mentorship course with Billy Matjiunis through SkillTree. I've been self-taught learning 3D, so I had lots of confusion here and there about the production and workflow. I wasn't very confident about approaching certain things. My mentor was extremely helpful from all perspectives, he answered all my questions, showed me new techniques, and really boosted my morale.

Through this experience of completing a scene entirely from scratch, I was able to step out of my comfort zone. As I learned new tools and pipelines, I was able to spot many flaws and inefficiencies in how I used to approach 3D environments.
I learned the importance of planning at all stages, really thinking about how you should be spending time on each prop/detail. You need to have a clear idea of where to prioritize adding detail in a scene in order to save production time.

For example, I learned to focus on the details that were visible from the "viewer distance" and mainly add details that serve the overall scene first. This sometimes meant adding more large-scale and noticeable wear on some textures, instead of microdetails that only looked good up closely.

Adding to that, leaving the polishing stage for each prop to the end can sometimes be more efficient. When you look at each prop on its own, you might feel it looks finished, but when adding it to the scene, it needs to work together and look unified with the assets next to it. They were all created to serve the overall effect. So, you might have to go back and force change colors and the level of wear until everything looks good together as a whole.

Lastly, thank you for reading this article, and thanks to 80 Level for giving me the opportunity to share my process. If you have any questions, you can always find me here.

Ziyi Wang, 3D Artist

Interview conducted by Arti Burton

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