✦ Project
Avowed
✦ Platform
Windows PC, XBox, Playstation
✦ Engine
Unreal Engine 5
✦ Role
Technical Artist
✦ Year
2025
On Avowed, I worked on a variety of tasks: environment art asset pipeline management, auditing, and tasking; profiling memory and performance metrics for the game; and creating simulations in Houdini and baking them down for Unreal.
Fake Windows
Avowed being a game with a time of day system, we needed a performant way to show glowing windows at night and have them turn off during the day. We also opted to create fake interiors for some of the windows to add a sense of life to our towns and buildings.
Cubemap Interiors
-
In order to give each building some semblance of life, special windows were developed that faked geometry with a single plane. Parallaxing textures create an illusion of depth and the emissive create a convincing peek into an interior that is not actually there. I took existing window meshes, used masks that already existed to project the interiors onto, and started working on the material to be set there.
I hand-set dressed 3 different interior rooms in the Fior architectural style, created cubemap textures from them, then plugged in the textures to the material. The result was a room that players can peer into from outside.
Customizable Colors
-
In order to allow these windows to exist in different locations, the ability to set colors of the emissive value was added to the material.
Masks were created to make each room seem like they were being lit from the existing light source. In the example, the light source is the fireplace.
My favorite comment from the meeting I showed this was “I love that we have RGB windows!“
Placement-based Brightness
-
To reduce the amount of work needed to hand-adjust emissive strengths on each window, I also added a “randomizer” to set an emissive strength to each window, based on the actor’s world position. This value was clamped to ensure they all were within an acceptable range.
Extra controls were added for when fine-tuning was necessary for each actor.
Detail Reduction at Distance
-
False interiors were costly to render many at once, so a feature was added to simplify the emissive values to a single solid color at a customizable set distance.
This feature was used to fine-tune the emissive values to each environment’s fog and post process settings.
Time of Day Driven Emissive
-
Lastly, in order to tie the emissive strengths to the time of day system, I used the Material Parameter Collection created by Matt Campbell to drive the emissive strength throughout the day and night cycle.
A curve was authored to control the value as well, resulting in a smooth transition between windows at daytime and nighttime.
Customizable Water Material
The water materials in Avowed uses a customized version of Unreal Engine’s Single Layer Water blend mode material.
-
My work on the water materials included standardizing water rendering across the project by selecting per context the type of material, tuning translucent water materials for interior scenes, and single layer water (SLW) for exterior scene. We worked around technical limitations in the engine with different lighting and VFX scenarios by developing and maintaining two different parent materials simultaneously.
The ability to vertex paint on up to 3 channels onto the water surfaces, emissive water, detail normals, wave direction tuning were some of the custom features added to this material. I also maintained the parent materials for the translucent blend model surface water material, as well as the post process material for underwater areas.
Work was done to match the visuals as close as possible to the post process material for each water surface type. A handful of initial sets of surface and post process materials were made, which included clear, salt, acid, bog, and mud. Variants spawned off of those to provide the visual variety throughout the Living Lands.
This was an endeavor spanning my entire time on the project from intern to ship, and I had the chance to collaborate with environment artists, lighting artists, and graphics engineers to make all features live. Following this accomplishment, I went on to work on water and other translucent materials on future projects, being tasked to solve various lighting and rendering issues and improve the overall look of them.
Upkeep and documentation was done throughout the ownership of these materials to ensure that updated information being passed to the team and feature requests were being met.
Emissive Foliage Material
The Living Lands in Avowed contains all kinds of emissive mushrooms that needed a large number of unique looks.
We were able to achieve a cost-effective solution by incorporating Custom Primitive Data and curves to control which color variant of the mushrooms were shown.
-
In Substance Painter, I created a mask generator that took the texture data of each asset and converted them to masks. The masks were then imported into the Unreal material to drive the colors and emissive.
By using masks, we were able to cut down on texture memory for all of the variants created.
I worked on creating set color variants based on direction from the Art Director and the Lighting team, translated those looks into curve-based RGB values, and drove the emissive foliage material with that data set.
Unreal Engine 5 feature Lumen allowed us to use emissive as cheap “light sources”, making this material effective in contributing gentle lighting to nighttime and cavern scenes.
Since all color variants are using the same material instance, and each material instance stems from the same parent material, we were able to keep shader count reasonable for the variety we were able to get for the Living Lands.
Candle Material and Blueprint
The various locations in the Living Lands has differently colored flames to define the aesthetic of the area. I created a system to streamline the coloration process for these candles.
-
The candle assets in Avowed were an extension of what I learned from the emissive foliage material. The candle assets had a few components that required the ability to change colors consistently.
The flame, the light, and the emissive portion on the wax all had to shift colors to the assigned value.
The solution we used was to build a Blueprint that set all three of those parameters based on the artists’ input.
New flame card geometries and candle wax masks were authored to support this system.
Floating Animation
Boats, shipwreck debris, and floating magical rocks needed animations. I came up with a customizable modular solution to fit various needs.
-
What started as a task to make the boats move on the water eventually expanded to different uses within the game - such as floating rocks or shipwreck.
Instead of creating different assets to handle movement on these, I set up a modular solution to allow designers and environment artists to apply these animations to anything they wanted. The modular solution was to create a Blueprint Component asset that could be added to any type of actor.
Once finished, I hand-applied varying animations to the ships and boats docked around Dawnshore and Emerald Stair.
The animations also fade out to 0 at a specifiable distance to help keep all actors using this asset performance conscious.
Animated Banners
Some of the banners placed around the buildings in the Living Lands were animated using a fellow technical artist’s WPO banner material.
-
I was able to help apply animation to a few of the banners around the Living Lands, as one of my first tasks as an intern.
I applied vertex color data to them in Maya to allow them to sway appropriately.
Some of the banners present in Galawain’s Tusks were laid against a slanted wall, which required some Houdini intervention. Custom animations for those were baked out using the simulation system in Houdini, which was then imported into Unreal.
Water Portals
For Ryngrim’s Domain, we needed magical water portals where water bodies existed while defying gravity.
-
My solution was to add a feature to the preexisting water material I had authored that created a ripple effect. This was useful since all water bodies had been placed already, and environment art had done their pass to tune the visuals of the water bodies.
After this feature was implemented, the portal toggle had to be turned on for these instances.
The ripple effect also has customizable parameters as well, which run on Custom Primitive Data, allowing each portal to be sped up or slowed down, waves made larger or smaller, and the portal center can even be moved around on the water surface plane.
I worked with the lead environment artist on tuning and iterating on this portal look.
Merged Mountain Range Meshes
Towards the end of development, I helped test and bake merged meshes for the mountain ranges far off in the distance as seen in Dawnshore. Initially they were kitbashed and made of upwards of 10 or more pieces per mountain. To optimize them, we needed to bake down those meshes into single simplified geometries, consolidate the materials into one, and make sure that the visual fidelity did not suffer.
-
I created A/B tests with various settings, determined which setting gave us a mountain range that looked best, and baked out the simplified meshes and materials.
After meshes were baked, I hand-placed the new meshes to overlap with the old meshes before removing them to ensure that our designed vistas and mountain range remained as close to the original layout as possible.
Thank you to the principal technical artist for guiding me through this process.