Emily Cheung talks about the working process behind the Cosy Studio Apartment project, shows the lighting setup in Unity, and explains why it is important to know both Unity and Unreal Engine.
Hi! I’m Emily and I’m a 3D Environment Artist. I studied Computer Animation at Teesside University. While growing up, I thought about pursuing a path in concept art, but when I got to university I learned 3D modeling and fell in love with it! It was an unexpected change but after university, I landed a job as a 3D Artist and I absolutely love what I do.
I started off in a generalist role, where I got to work on all kinds of projects, from project mapping animation to buildings, museum exhibits, and augmented reality mobile games. I then went on to specialize as an environment artist at a VR company making therapy treatments for mental health. It’s been quite a varied career so far! But at the end of the day, the games industry has always had a special place in my heart.
I’ve had more experience using Unity in my career, but Unreal is so commonly used, that it’s definitely worth having knowledge of both. As a 3D artist, it's important to have the willingness to learn different software and the more technical aspects of development, and of course, when you know one engine, there are certain commonalities across others.
Interestingly, by accident, I’ve been lucky to work with emerging immersive technologies during my career and most recently worked on projects for Oculus Rift and Quest. As the Quest is untethered, it has significantly more limitations which has its challenges. When working on environments for the Quest, it’s always about keeping the draw calls down and optimizing as much as possible, and you have to sacrifice a lot. This meant minimal materials and textures, LOD-ing, keeping poly counts low, considering draw distance, and clever occlusion culling. It was really important to keep communicating with the programming team to check the budget and where we could optimize.
The Cosy Studio Apartment Project
My thought behind this project was simply that I wanted to work on something for fun. I’ve always liked cozy and colorful environments and wanted to create something inviting that I’d enjoy if it were real life. I was inspired by miniature model DIY kits, particularly Japanese ones. I feel that they capture so much personality in a small space. I’ll usually start by collecting references into a Pinterest board, or Miro is a great tool for brainstorming and keeping ideas all in one place.
Layout-wise, I had a pretty strong idea of what I wanted, I knew I wanted a mezzanine to the bedroom and I also wanted it to have an outdoor space, so I added a balcony and small yard so I could have some greenery. Because it was a small studio, my natural thought process was to use a spiral staircase to go from the living space to the bedroom.
I blocked out the space in Maya, most assets were pretty straightforward and started off as primitives. There were a couple of assets that required other Maya tools, like for the spiral staircase I used a cylinder extruded along CV Curve, and for the bed and the kitchen towel, I used simple nCloths so that they could have slightly more realistic fabric folds.
I knew that the way to add personality and character to this space was through all the small details to make it feel lived-in. I quite enjoyed thinking about things that could fill the space as if it were my real home, like books, soft furnishings, wall decoration, and plants, and I even thought about making the kitchen appliances cute by choosing a colorful retro theme. For the cat, I knew it wouldn’t move, so I modeled it specifically in a sleeping position knowing it wouldn’t be animated.
I wanted to render this scene in Unity, so I would jump back and forth from Maya to Unity quite often to check how I might layout and light the space. I also generally like to model and place assets before UV unwrapping in Maya. In this case, because I knew that the assets would be in fixed positions and the environment wouldn’t change once finalized, I grouped assets together by room and created texture atlases wherever I could in Maya before taking them to Substance 3D Painter to texture. During the unwrapping phase, I also usually create the second UV channel for light mapping, as it will be helpful in reducing errors and artifacts when baking lighting in the engine.
Where possible, I wanted to use my own materials, so for some of the larger surfaces in this scene, I created the materials in Substance 3D Designer. For the brick and wood planks, they started off with Tile Generators with layers of grunge, dirt, and grain. For the kitchen and bathroom tiles, I knew I wanted colorful patterns, the kitchen tiles in particular were inspired by Portuguese tiles. They also started off with a Tile Generator, and then I made the pattern in Photoshop, which I then imported into Substance 3D Painter so that it could fit into the tile and I could add color. Then I published them as .sbsar files so that I could bring them over to Substance 3D Painter.
Because there were a lot of small details throughout this whole environment, I didn’t do anything too elaborate with the textures. For the props, I would start with a simple smart material as a base and alter the colors to suit my scene, and then layer different textures such as dirt, scratches, and damage. My style always leans slightly more towards stylized, so for a subtle extra depth, I overlayed gradients to most assets by using a darker color with a Position Generator.
For the plants, I ended up going super simple and old-school and painting them in Photoshop. I wanted them to look flat in a stylized way, and they would be more in the background, so I didn’t even add normal maps for them in this scene.
As soon as I bring the assets into Unity, I like to set up baked lighting and, very importantly, a skybox to suit the atmosphere of the scene. In this case, I used Customizable Skybox by Key Mouse Studio, it came with a lot of pre-made skyboxes for different times of day, but I ended up creating my own for a soft peachy background to get a similar vibe to the Japanese dollhouses.
I always start with deciding the time of day and the direction of the sun, and therefore where the shadows will fall. I went with a yellow/orange tint to continue the warm tone. Then I usually like to add an additional Fill Directional Light in a contrasting color to bump up the darker areas, in this case, I went for pale blue. Then I added in a couple of extra Area Lights to light up specific areas, like the kitchen and the bathroom. I knew I wanted some kind of fairy lights in the scene, so for the bulbs, I applied a white emissive material.
Adding post-processing can be a lot of fun, but in this particular scene, I didn’t go too crazy. I bumped up the Saturation and Contrast and added some Bloom to give the fairy lights a little glow, and just a little grain.
I had a lot of fun with this environment because I love home decor and making my real home the coziest place possible. I wanted to create an environment where people could look at it and think “I’d be quite happy living there”. I’m by no means a minimalist, and, I’m sure like most people, have a lot of memorabilia, items collected from over the years, things that just look pretty, and things that hold memories, and I believe these are what make a home. For me, it’s the small details that really sell a scene.
I had a fairly clear idea of what I wanted in this scene, and sectioning off each room made thinking about all of the smaller props more manageable. One of the most important things I’ve found when working on personal projects is planning. While I’ll be the first to admit I could do this part better at the beginning of a project, organizing references and keeping a list of assets is so useful in maintaining vision and traction, and not getting overwhelmed when it feels like there’s a lot to do. It can be easy to get overexcited and get too ambitious when you feel inspired, so it's good to take a step back occasionally and make sure the scope is within reason and the project doesn’t turn into a chore.
My biggest piece of advice when working on personal projects is to do something that you will personally enjoy, without thinking too much about what needs to be on your portfolio, what skills you need to show, or who you want to impress. If you love the project you’re working on, you’ll naturally feel motivated and have fun while you hone your craft, and it will show in the final product.