← Back to list

Character and Skins Texturing Workflow

I’m Kathia and today we’re going to talk a little bit about our snow fighters 🐧

Hectiq in Hectiq · 2024-10-11 17:16 · 2 claps · 3.0 min read
#devblog #game-art #stylized #gamedev #indie-game
Open on Medium ↗

Character and Skins Texturing Workflow

Introduction

Hola Pingheros! 👋

I’m Kathia and today we’re going to talk a little bit about our snow fighters 🐧 and their sense of fashion🩲🎀.

During the project, one of my responsibility was to set up a texture workflow for characters and skins.

This colorful, explosive game requires a ton of variation to satisfy every player’s needs 😉.

Problematic

Working with multiple color choices and adaptable color Skins can become overwhelming very quickly. That’s why we planned a workflow that’ll provide more scalability for the future of the game.

Creating a material for each color and each skin is too exhaustive and expensive, but we’ve found a way to optimize it!

  • We needed to be able to create a wide palette of colors quickly and easily (for now there are only 10 available Characters Colors but who knows? Maybe a Rainbow Penguin with 5 variations could be needed! 🌈).
  • Team mode is also requiring specific colors (Skins needs adaptive team colors!).

Current Colors Variations:

Some Customization might adapt to each colors of characters (based on the Rarity of the Skins ✨).

  1. Common (Basic materials and strict minimum of surface coverage).

a. Need to adapt to the Team mode.

  1. Rare (Medium materials and surface coverage).

a. Need to adapt to the Team mode.

  1. Legendary (Premium materials and advanced materials, full surface coverage, VFX).

a. Need to adapt to the Team mode.

b. Need to adapt to each character color.

So how can we meet all these needs efficiently?

Solutions

One solution is to use RGBA masks! 🔴🟢🔵⚪

It will provide a good mix between flexibility and optimization.

We’re using RGBA channels independently to store black and white data (I call them masks). That way we can have 4 different masks on the same texture! We then use masks to apply color to certain areas of the models 🖍

This is how my RGBA masks are organized:

Base Color Map

  • Channels RGB is for different colors, R (principal color)/ G (secondary color)/ B (tertiary color).

  • Channel A (Alpha) is used to select zones that display texture directly and those that display colors selected using RGB masks.

What’s more, it can be applied in cases other than that of the character, such as skins!

Colors driven by shader allowed me to quickly iterate within the engine and generate multiple variations without wasting too much time 🕰.

Characters Colors are picked via code and only one shader is used for all of the characters and skins.

Other textures.

  • Metallic/Rougness/AO are also packed in one texture ((R=Roughness)+(G=AO)+(B=Metallic)).
  • Normal texture.

Conclusion

This technique can be used in a multitude of ways, and depending on your needs, you can push it even further.

Thank you for reading and see you soon! 😃

Kathia Lebon


메타데이터
post_id
cff890b3bd70
slug
character-and-skins-texturing-workflow-cff890b3bd70
url
https://medium.com/hectiq/character-and-skins-texturing-workflow-cff890b3bd70
canonical_url
https://medium.com/hectiq/character-and-skins-texturing-workflow-cff890b3bd70
author_url
https://medium.com/@hectiqcom
status
ok
fetched_at
2026-08-23 11:24:28