Website powered by

Namagochi - The Finals fan art

I've been playing the finals for some time and have greatly enjoyed the game; it's truly a breath of fresh air in the competitive shooter genre. With the game being only 27GB in file size as of the date of posting, I wondered how the texturing was handled in the game. I challenged myself to create a fan art project that not only is a cool cosmetic for the game, but also a shader in UE5 that supports high-detail texturing while keeping texture memory low that replicates the way The Finals is textured.

Utilizing only an ID map, baked maps, and procedural textures and noises, I managed to create highly detailed materials with quick and real-time iteration in-engine. For this instance, I've used the UV1 for a general bake and the UV2 for small details like text and small insets, but the shader supports UV channel use up to 3. The shader only needs a baked normal map and an occlusion curvature map to work properly. In total, the bakes amount to 10MB of textures spread out over 3 materials. The rest is all handled in the shader using tileable textures and grime, all reusable project-wide.

This project was made in collaboration with the concept artist of Namagochi, Beau de Lange (https://www.artstation.com/beau_creative_works).

Video editing has been done by Jana MacLachlan (https://www.artstation.com/jjmclachlan).

Here's a render to see how well it fits in the game

Here's a render to see how well it fits in the game

Animated trailer

Banner test render

Banner test render

And here is a model showcase render using the assets from the hallway scene

And here is a model showcase render using the assets from the hallway scene

This is how the models are textured in-engine. As mentioned before, it uses baked mesh maps and tileable textures to create the material.

This is how the models are textured in-engine. As mentioned before, it uses baked mesh maps and tileable textures to create the material.

This is an overview of the shader. I've used custom material functions for all the blending to ensure the shader is clean and easy to read and edit.

This is an overview of the shader. I've used custom material functions for all the blending to ensure the shader is clean and easy to read and edit.

I've also played around with a teaser render for the Namagochi, and this shot is one of the results. This inspired me to create a render in a different setting.

I've also played around with a teaser render for the Namagochi, and this shot is one of the results. This inspired me to create a render in a different setting.

Namely, this: the scene is completely made from scratch and lit using Lumen.

Namely, this: the scene is completely made from scratch and lit using Lumen.

For the trailer to work, I have reassembled a character file from the game. Remaking the materials was a lot of fun, since most of the texturing happens in the shader using tileable textures and mask maps. This was great material editing practice

For the trailer to work, I have reassembled a character file from the game. Remaking the materials was a lot of fun, since most of the texturing happens in the shader using tileable textures and mask maps. This was great material editing practice

This is an early version of the Namagochi being textured in-engine. In this instance, I'm trying to create the general feel for the materials

This is an early version of the Namagochi being textured in-engine. In this instance, I'm trying to create the general feel for the materials

In this image, I am testing the first version of the LCD shader. I wanted to ensure the image has a subtle depth effect that can be seen in old LCDs under certain light conditions. I found this effect to make the display more believable and interesting

In this image, I am testing the first version of the LCD shader. I wanted to ensure the image has a subtle depth effect that can be seen in old LCDs under certain light conditions. I found this effect to make the display more believable and interesting

And this is the final iteration, supporting a grid system that can scale with the number of pixels the animated sprites support to fit perfectly

And this is the final iteration, supporting a grid system that can scale with the number of pixels the animated sprites support to fit perfectly

Here is a screenshot of the hallway re-created in blender

Here is a screenshot of the hallway re-created in blender

Here are screenshots of progress images of the high-poly model. After testing both a chain and a leather strap, I settled on the leather strap since I thought the distribution of details looked better using the leather straps

Here are screenshots of progress images of the high-poly model. After testing both a chain and a leather strap, I settled on the leather strap since I thought the distribution of details looked better using the leather straps

here's a wireframe model for the low poly

here's a wireframe model for the low poly

This is the original concept art the model is based on. I've worked in close collaboration with the original concept artist to bring this model to life

This is the original concept art the model is based on. I've worked in close collaboration with the original concept artist to bring this model to life