Senior Lighting Artist Stuart Huang Ji has told us about Coming Home, a stunning environment inspired by Stray and Ghibli movies, explained how the scene's assets were set up, and shared the lighting workflow in UE5.
Hey there! My name is Stuart Huang Ji and I'm a Senior Lighting Artist currently working in Shanghai. I have six years of lighting experience. I have always had a passion for games, especially the ones that have stunning graphics, and that is what made me start pursuing a career in 3D graphic design. I’ve learned many skills throughout the years, and it all started with my Watercolor professor, who taught us the theories of composition and storytelling in a picture that I could easily understand. I then applied the fundamentals to 3D, and that’s what made me get started with environmental lighting. Throughout the years, I’ve been working on films, live broadcasts, and games.
I always like to break down art in a scientific manner, so I’m always in a constant search of why certain artworks work.
Now, I'm working on some really cool projects in the game industry. The most recent project I worked on is an unannounced game from Take-Two Interactive, and I'm eagerly waiting for it to be announced. Whenever I play games and watch films, I always love to break down every significant shot and how they were made – color composition and balance, color grading, and if it's a game, how the effect can be achieved with the current day hardware limitations.
The Coming Home Project
I'm a big fan of Ghibli's films and Zelda: Breath of the Wild, especially the calm and serene environments present in them. I've also played Stray recently and I got an idea – wouldn't it be nice that our orange tabby in an alternate universe has a comfy little home to rest after a big adventure? Which is also an empty Ghibli-esque house in which no human resides, so in a way, they are still “strays" but with a "home". The reason I went with just orange tabbies for all the cats is to keep the color composition clean.
While looking around for inspiration among some of the references, one artwork on ArtStation caught my eye – Kuker House by Ognyan Zahariev. I was immediately drawn by the superb execution of how well it portrays the Ghibli feel, so I decided to make my new project, Coming Home, mainly inspired by his style.
I took the most prominent color from his artwork and while referencing the other artworks in my mood reference and the Ghibli reference, I came up with a new composition with a twist of my own color palette.
As for the Totoro-style huge tree right next to the small house reference, I still wanted the house to be the main focus, so I made sure the trunk didn’t overpower the house in terms of size while still providing me with good reference for the placement and the doability of this phenomenon.
Above is the simple blockout I made before KitBashing. The main subject is the house, the cat, and the big trunk beside it. I felt that having just one huge trunk in this environment would look weird, so I added another big trunk in the foreground to balance it. I made sure the general direction/feel of the light is correct and the house together with the cat is lit up, then I was good to go!
As the original house from the Stylized Village Fatpack was perfect for me, I used it directly in my blockout but changed the roof tiles to orange ones. I used the existing tree assets as the blockout too, since it already exists in the asset pack, saving a lot of time.
The main focus is in the center, which is the brightest part of the house, but still on the vertical rule of thirds as the rest of the scene is dynamic so the center focus works best as it won’t be too much for the eyes.
Working on the Assets
As I'm a Lighting Artist by nature, the major bulk of the creation process is the level and lighting design. The whole terrain is sculpted with the original terrain material that comes with the Stylized Village Fatpack together with the grass and trees from the same asset pack.
All objects are KitBashed with the original asset pack. I wanted some tall stoic trunks, so I tried to scale a tree from the asset pack up. I've run through my friends and none of them could see that it was scaled. Of course, in actual production, scaling should always be confirmed by the team whether it can be scaled or to model a new asset. But since this is my personal project, it can help me save a lot of time.
I felt that the orange roof tiles in the main house worked really well with the composition of my project, which is why I changed the color of the roof to orange to contrast with the greens in the environment.
I’ve changed most of the material colors to fit my scene, these are some of the examples that were changed to fit my color palette. Some of the materials have been separated into multiple versions to enhance the look of depth or the colors in the shade.
As I couldn’t find a blueprint for the house in this asset library, I took the main small house in the demo level and, with some minor adjustments, threw away the parts that is not needed, changed the roof from teal to orange, and assembled it as a blueprint.
This way, I could change whatever materials and positions I wanted and it would be saved as a prefab when using it on a new level.
After the inspection, I’m ready to create a new empty level. I clamped the EV to 1 by creating a post-process volume, set Infinite Extent (Unbound), and set both min and max EV100 to 1 in the exposure settings and Exposure Compensation to 0.
As this is a one-off environment with no drastic lighting changes, I didn't use real-world EV values. The values of lighting intensity for the lights are based on eyeing and feeling what's right. This is the best method to do a non-PBR exposure value project.
I then created a landscape and drop the house blueprint in. Did some blockouts and inserted the standard sky system(Directional Light, Skylight, Exponential Height Fog, Sky Atmosphere).
The Env. Light Mixer window is a fast and effective way to quickly place the essentials for the environmental lighting and an overall view table to tweak what's going on. From here on, I replaced the blockouts with the assets in the library and painted the landscape with the default landscape material that came with the Stylized Village Fatpack.
I added grass and occasional flowers to enhance the place so it doesn’t look too dull with just greens and nothing else, and even so, I used colors that are closer to the hue of the grass so it is the right balance of breaking the pattern but not too eye-catching. In this case, it is the bright yellow of the flowers vs. the warm green of the grass. Both colors are relatively close in the color wheel, that why they don’t stick out too much. And from the yellow flowers, rare red flowers are scattered in the rest of the scene to break it even further. Red is a strong opposing color to green, so I toned down the saturation and placed them at the sides of the image.
As I wanted to have rather soft lighting for this project, I added soft fill lights to emphasize certain areas and constantly re-evaluate my composition.
Lastly, the scene was lacking some life to it, Just like the Kuker House from the reference, I added some butterflies VFX to liven up the space. The butterflies don’t come in the correct scale, as do most assets if they are from different libraries on the Marketplace, so I scaled them to fit my scene.
Again, shout-out to Ognyan Zahariev for guiding me on some of the main challenges faced in the current UE5.0.3 version, which also caused problems on his own projects.
As the default Virtual Shadow Map for UE5 is turned on, the grasses and leaves have weird self-shadowing and it eats into performance a lot, making my FPS pretty low, so I turned it off and the foliage doesn’t have self-shadowing anymore and it also it fits the artwork perfectly as it appears to have a very translucent cartoon feel. There still are some weird shadowing areas that are hard to get rid of especially areas in between leaves so I insert targeted fill lights to bump them up a bit.
UE5.0.3 Lumen seems to have some different calculations with foliage in rendering from sequence so in the end I just use a recording software(OBS) and played the sequence directly in my editor and recorded from there.
Assembling the Scene
My personal rule is to always have a clear and distinct main key light, that’s the top priority, when seeing artworks, we always ask ourselves: what is the main focus of this shot?
In this project, the diagonal sunlight from the top right is the main light with the house and the main cat being the brightest. It can be achieved in many ways, the most obvious ones are bright vs dark(value contrast), but we can be creative and play around with the entire spectrum of HSV(Hue Saturation Values).
To help in determining how much of one side vs the other, I always use the 80/20 or 70/30 rule, which means, for example, 80% of the composition is darker while 20% is brighter. It is not a hard and fast rule but works most of the time for me.
Having a personal rule listed down in a checklist really helps me to replicate the same quality if not better for my recent works. At the end of the day, it all boils down to this: Does this composition have enough contrast to determine the main point of focus?
This is the breakdown for my final composition setup:
- 1(Red): The “Sunlight” direction is diagonally shone as a dynamic angle to break the stability of the scene so it won’t be too boring
- 2(Cyan): Trail of light purposefully crafted to lead towards the house.
- 3(Magenta): The top of the house and the bottom 2 points of contrast forms a pyramid shape as it symbolizes stability since I wanted to achieve a calm and serene mood.
- 4(Yellow): A subtle shadow on the grass pointing towards the main focus.
- 5(Green): Evolving from the initial blockout, I decided to put another huge trunk to the right as the trunks at the extreme left and right frames of the image, further emphasizing stability
- Lastly, the main cat coming home is at the rule of thirds exactly horizontally to differentiate from the other cats, and it is 1/5 vertically to increase the space of the environment.
This is an alternative composition of this project. I was thinking about whether the focus should be centered or more toward the rule of thirds, so I experimented with different compositions in my process. I tried to shift the house towards the left, and personally felt that placing the house more off center causes the composition to appear a little too dynamic so I reverted back to the central focal point since the mood I’m conveying is a calm and serene one with dynamic composition supporting the surrounding areas
I feel that sometimes it is perfectly OK to have things in the center, as it depends on the mood and story we are going for.
Lighting and Rendering
As this is a mood piece and not a game lighting exercise, I used many spotlights to fake the “sunlight” shining through the forest. This method provides me with ultimate control of how the final scene will look. For fill lights, I prefer to use mainly Spotlights much more than Pointlights(sometimes Rect Lights) for most of my artworks. Maybe because I’m used to doing games where Spotlight is usually the most performant light in the engine, but it is also because I can control the range for spotlights much more effectively than Pointlights as restrictions from the cone angle prevent weird light that I didn’t want on the opposite side of the Pointlight.
Many of the Spotlights are very concentrated in one spot and independent of each other in terms of overlap, they are used to add an extra touch to the scene, break patterns, and create highlights.
As this is not a PBR approach, the low strength intensity of the Directional Light is matched to EV1 and it is mainly used to support the scene and provide some backlight. The actual lights in the scene are the Spotlights around the scene.
As for the fog, I increased the Fog Density and changed the Fog Inscattering Color to a cyan tint, turned Volumetric Fog on, and increased the Scattering Distribution higher so the volumetric fog from the Directional Light is more concentrated from the point of origin and it increases the falloff effects on the Volumetric Scattering from the spotlights. The Extinction Scale is slightly increased to bump up the overall volumetric fog intensity. The View Distance is set to the best balance between the clear house and the foggy background immediately behind the house.
I’ve added a slight warm tint to the skylight to balance out the cyan sky and increased the intensity. The parameters of SkyAtmosphere are default.
One hack I used, since this isn’t a game but more of a fixed camera scene, I faked god-rays coming in from the right with a few floaty god-rays shining through some bush assets outside of the camera view to mimic sunlight through the leaves of trees. This can be achieved by ticking Cast Volumetric Shadow on the Spotlights.
Though the same effect can also be achieved with light functions, this quick hack allowed me to save time.
In the post-process settings, I adjusted the Bloom in the Lens section. I increased the intensity slightly which causes a little dreamy effect.
For the color grading part of the post-process volume, I did a top-down approach, meaning I start with the Temperature section, then move down to Global, then Shadows, skipping Midtones, and finally Highlights. I usually like to tune the Shadows because it can efficiently balance out any scene with ease.
The Highlights section is to tint the color of the bright spots in my scene, in this case, it is towards a warmer color. I don’t usually use LUTs, especially since this scene is a very specific mood so unless I can’t directly create the grading in UE, then I can use other software to create my own LUT. Also, it is really satisfying to get the correct color grading right manually with the default tools in UE as frequent practice improves my understanding of color.
I also usually like to end off by shifting the Toe under the Film section slightly lesser so the shadows aren’t too dark.
The shadows from the reference in My Neighbor Totoro are really soft, so the tweak in the Shadows section helps give the desired color, and the shift in Toe under the Film section further helps the softness of the grading.
The main reason for using UE5 is that many AAA studios are using UE5 currently for their next big releases, so UE5 is the future. I made the switch to UE5 as my default engine for all my personal works once it was announced and having a blast with it. The effectiveness of Lumen gives me really quick real-time iterations and I don’t need to worry about Lightmass world settings and light map resolution for individual Static Meshes so I waste little time, which also means I can be more daring to try different approaches and it only cost me a fraction of the time versus if I had to bake the scene to see the final results. Though there are still some engine limitations right now, since UE5 is in a very early development stage, which I covered earlier.
For the cat animations, the Animalia cat set is really great in providing preset animations. I used the Sequencer for the animation. I dragged the Cat Skeletal Mesh into the Sequencer and pressed the + button and under Animation, I get the whole library of the animation associated with the cat, all I had to do is find the correct animation and drag the animation bar to fill up the whole timeline.
In this shot, I used classic Rembrandt lighting for the dynamic yet natural look of this cat. I also made sure that the eyes always have specular when the face is turned towards the right side of the shot. Speculars in the eyes will make sure the subject looks alive.
Because the parts of the cat are really small, like the ears and nose, I cranked the shadow bias of all the fill lights to be super low so it is more accurate with the smaller parts.
This is a top-down angle of how I enhanced the look of the cat. The frontal Spotlight is used as a fill to achieve the triangle effect at the opposite side of the face of the cat from the main sunlight direction. Another subtle dim Spotlight is added behind the cat for the backlight to differentiate from the background. I have also opened up a new lighting channel (Channel 1) for the cat so that the fill lights could be dedicated to the cat model and I didn't worry about affecting the environment.
I usually like to get the final look in UE itself and do some slight touch-ups in Photoshop to finalize the artwork.
This is the final color for the Coming Home project. As I’m not using a good color-calibrated monitor at home, in the meantime, I would check my colors in the Vectorscope from DaVinci Resolve to get an accurate view of the true colors. In this case, the hue and saturation in the Vectorscope work for me, this split complementary scheme is what I want. In a quick summary, the angle of the Vectorscope determines the hue of the color and the length determines the saturation.
I would also suggest everyone who doesn’t have the best monitors occasionally use these tools to check for true color values so you can still produce accurate colors and brightness without worrying if it will look off in higher-end monitors.
Due to the many technical problems I encountered during this project, I almost gave up halfway through, as some of the effects just couldn't be achieved normally, but I pressed on, found solutions, and solved them. My busy work schedule also hindered me quite a lot with this project, as some days I would get home really late, being too tired to open my laptop. Still, I persevered, because I don’t like abandoning projects unless they are really bad.
From this project, I’ve learned that as long as the passion is there, we can always have time to learn and craft the imaginary world that we want. It is all about perseverance.
The biggest advice I would give to my fellow artists is never to give up on your projects. There can be many ways to solve a problem, maybe you just didn't see it on that day itself but you may find the solution after a day's rest. And you are always welcome to ask fellow artists for advice and you may be surprised by what insights you can get from the second point of view!
Also, don’t give up if you feel that your lighting doesn’t come out the same as what you pictured in your head. Keep developing your skills because this is a learning journey every Lighting Artist takes, myself included. There are so many more things for me to learn and I glee with excitement every time I discover a new way to light or anything related to improving my lighting skills.