What is Colorization?
Colorization defines up to 6 dye-able zones on assets that players can dye in game. For example, why the seat of a saddle can be dyed one color, while the base can be set to a different one. This is done through a texture mask that defines up to 7 zones (6 dye-able and 1 non-dyed). These mask zones are defined by 6 separate colors (RGB and CYM) plus black for anything that should always stay the original color. The strength of the colorization (for example, wanting the wear on the edge of a saddle to retain a similar color no matter how the saddle is dyed) can be modified through the intensity of the masking color on those zones.
This is ARK’s dye system in game:
One color in the colorization map defines each of those listed color regions. In this case, region 5 is the area defining the front straps, and when the dye is applied to that zone it is colored in game.
What do we colorize?
The general rule is that weapons, structures, clothing, and dinosaurs can be colorized. Not every asset within these categories is colorized however. For example, stackable items, special structures that players use (like workbenches), and weapon attachments are all not colorized. Icons of colorized objects are also colorized, with the exception of structures and dinos. For a more in-depth explanation of what the sub-categories are, see the general reference section on this page.
Colorization Texture Breakdown¶
Here is an example of the textures for colorizing the Megalania saddle.
|Colorization Mask||Colorized Diffuse||Original Diffuse||In-editor colorization regions|
This mask utilizes all 6 color zones, and everything on the saddle is possible to dye (hence no black in the texture). The colorized diffuse retains some of the color in the rubbed leather edges, and is darkened in the same zones on the mask so that the dye effects those areas less intensely. The greyscale value of the diffuse has also been lightened, as the dyed version can become too dark when using the original value levels.
Something to note about color placement choices in this example: Many of these zones are defined by separate mesh shells in which case there are no restrictions on bordering colors. If you look at the use of green (which in this case is defining the metal sections) it is within the same mesh shell as two other color zones. That is a case where the color choices become important, because some colors that do not blend well cannot border each other on the same mesh shell without creating a noticeable white line on the final asset at the blend point. In this case, green can border on cyan and yellow, so the straps with metal brackets are dyed those colors to accommodate this need. For more information on what colors can border others, see the reference section.
Why desaturate the diffuse? Areas of the Albedo texture that will be colorized should be desaturated so that the colorization is not affected by the base Albedo (unless this is specifically intended). If an area is not going to be colorized it should not be desaturated in the base Albedo texture. It can be OK to add a small amount of base Albedo color variation to desaturated color regions to better match the spirit of the original asset (see saddle example above). However, one should be careful doing so as adding a color in the Albedo region that is colorized will make it harder to accurately color that area with certain colors, like white.
How to Colorize (Non-Creature Assets)¶
What you need for colorization¶
An Asset to colorize
- Make sure the mesh is in it’s final version, otherwise work may need to be repeated. Find the fbx file for the mesh.
- Locate the diffuse texture file for the asset to be colorized
- In both of these cases, it may be best to export from the in-game version to be sure of having the latest as source can sometimes be outdated.
- Optional: Substance Painter
- Get the photoshop action for setting up layers for each colorization color.
How To Colorize Mesh Textures¶
Decide on color zones
- Color bordering restrictions: Choosing dyeable zones is one of the most important steps. Only certain colors can border each other on the same UV shell without causing a white line.
For example, red and blue should not border with each other because where they mix is magenta. If magenta is used elsewhere in the mask, the magenta colorization while be applied everywhere red and blue mix. Even if magenta is not used elsewhere it will still create a white line at all blending points due to white being the default colorization value.
Here is a chart showing what colors can touch (Note: The chart does not apply for separate mesh shells, where any colors can be on neighboring shells. Only colors present on the same shell need to follow this) You can see the white border that appears between the colors in the first example, and how it is not present in the second.
- Choosing zone divisions: Often zones themselves will be defined by the materials used. For example, all the metal parts on a saddle may be one color. On a weapon, maybe the wood handle is one section and the metal blade is another, while the leather wrap around the handle is a third. Everything in a zone will be colorized with the same color (like the brown on saddle leather), so it is important to only have similarly colored surfaces in a single defined zone. Metal and leather in the same zone would not work due to requiring two separate colors (grey and brown). Often the mesh will have natural divisions in the shells used that can be very useful to base colorization off of as well.
- Number of zones: The goal is to always have at least 3 color zones unless the mesh is extremely simple (look at gloves with only one material, for example). The ideal is to aim for 4-6, and use your judgement on when a smaller object may not need that many.
Create the colorization mask
- Initial color masking
- This can be done in several different ways. The most efficient is to first import the asset fbx in maya
- Apply the original diffuse texture to the mesh
- Open the UV Editor and choose the selection tool. Set this to select shells.
- Select the shells that will be in the same dyeable zone (for example, all the metal rings on a saddle)
- Using the 3D Paint Tool, flood paint the selected area one of the six colors. Remember to take into account what colors can border. If there are small metal rivets for example, then whatever color assigned to metal needs to be compatible with the color assigned to the shells that will have rivets on them. So in this example, if the metal is green, then the straps (which have metal rivets on the strap mesh shells) need to be cyan and yellow to border with green on the same shell.
- Once done (make sure all of the shells are colored, including backfaces) save the texture out.
- Optional: Take into Substance Painter to fill in the gaps
- Import the mesh and the created texture into substance painter
- Create a new fill layer and make the mask texture the base color (UV scale should be set to 1)
- Export the texture with dilation on
- Build mask photoshop file
The colorized mask portion of a finished file looks like this (the diffuse layers are below these):
Open the asset’s original diffuse and run the photoshop colorize action on it, this will create the layers for each color channel.
Open the mask file you created, and copy-paste it into the diffuse’s file above the colorization layers. You can see this just below the Colorize folder. It is only there to copy from into the individual layers, and is hidden afterwards.
Copy the colors on the mask into each matching channel layer. Anything that you want to have show on that layer (red, for example) needs to be masked with white on the red’s mask. You can see this mask just to the right of each channel’s color fill layer. Hide the texture imported from maya/substance when done (click the eye to the left to turn it off).
Do any necessary hand-painting (for example: a shell that has metal buttons on it, or any mesh shells with two dye-able zones) that was not included in the flood painted areas. To do this hand painting, use paintbrush set to white, and paint into the mask of the color you want to show (for example, if metal is green, paint the metal pins in the green channel above the yellow and cyan leather layers)
Create the diffuse texture
Example of a finished set of diffuse layers:
Not every diffuse layer set will need something like the “Background copy 2” layer, that is used when of the original color needs to be kept to show through the dye. Some diffuse layer setups will also get more complex, such as if there are multiple selections of original colors (say the edges on a saddle, plus the wear on metal), or if adjustments need to be made to a diffuse masked layer (Background copy 2) for the original color to interact correctly with the dye. Sometimes this means bringing the saturation up on that section, or decreasing it.
Creating the diffuse:
- See if there are any special circumstances that apply (wood, stone, etc) and if so, follow the instructions for those, found further down this page.
- Duplicate the diffuse layer and desaturate it.
- Apply a levels adjustment layer. The result should be no extremely dark spots in dye-able areas, the goal is a light to mid grey on most surfaces.
- Try not to lose too much of the value variation, flattening the range will drop some of the visual interest in the texture.
- Decide what fine tuning is necessary
- Some things will match the original asset better with less intense dye (for example, worn edges, patterns with distinct color differences, color variations within a surface). Identify these. This image shows an example of the difference between worn metal edges when this has not been done (lower left) and when the dye impact on the edges has been reduced (lower right)
- Some of these areas will also need the original diffuse color to come through (like worn leather showing through with a yellow tint)
- This is the difference between no darkening on the mask (left) and allowing some of the base worn color to show through (right).
You can see that on the left, the dye does lighten at the edges because the diffuse value is lighter, but to get the original color to show through, the amount of dyeing in that area needs to be reduced and the original color need to be kept in that part of the diffuse texture.
- If the color just needs to be dyed less then just part b is necessary. To retain original color, also follow part c.
- Reducing the impact of dye on specific areas
- For each part to be adjusted, select that on the diffuse (selecting by color works well here). For this example, assume the worn edges of the saddle are selected. Having a different layer for each thing adjusted (saddle edge vs worn metal, for example) can help with later adjustments. To select by color, use the magic wand, right click, and select Color Range, as shown below.
- Create a mask of this selection. To do this, hit the button circled in the image below and it will mask the current selection on the current layer.
- Desaturate this layer. This layer should be moved above the colorization mask layers and multiplied.
- The opacity on this layer should be set to around 10% or less. On a very rare occasion higher might be needed, but 10 is usually enough.
- Retaining some of the diffuse color
- To retain the original color for an element, select the masked area for that. Right click on the layer mask and select add to selection.
- Duplicate the layer with the original diffuse (not desaturated) and apply the mask to that layer. Move this above the desaturated diffuse layer.
- This will likely need some tweaking once the colorization is in engine and you can determine whether this color is too bright, dark, etc.
- Mask settings
- Naming: suffix: “_Colorize_m.tga”
- After hitting save, choose 24 bit
- Diffuse settings
- Naming suffix: “_Colorize_d.tga”
- After hitting save, choose 32 bit
Using Substance Painter for colorization¶
- Add vertex color to the high poly
- Make sure when adding the vertex colors that you keep in mind the Color Zones mentioned above.
- Create a substance file and then duplicate
- Create a substance file to generate the regular textures (Basecolor, Normal, Layered, etc.)
- Once finished with the first substance file, save a copy of the file and add _Colorize as a suffix to the name.
- Important: Add the ‘Diffuse’ channel to this new colorize file.
- Add the Ark_Colorize smart material
- Add any layers used in the generation of the original basecolor, to the Folder named Basecolor inside the Ark_Colorize smart material, just below the layer named Desaturate
- Adjust/change the masking on that Desaturate layer to desaturate the basecolor, except for the edgewear and/or any other areas that shouldn’t be affected by the colorize process.
- Within the Mask folder there are several fill layers that only have a diffuse color and a mask. On each of these masks, Color select from the generated ID mask for the appropriate material. If the color zone selection has already been properly decided on when applying the vertex color, this should all be relatively simple.
- The black layer on the top of the stack should be used to partially mask out any edge wear (aligning with the edge wear from the ‘Desaturate’ layer and/or other areas that should not be colorized.)
- Export textures using Ark_Colorization preset
- Export out the mask (T_*Filename*_colorize_m) and desaturated basecolor (T_*Filename*_colorize_d) textures to the appropriate folder.
How to set up asset colorization in Unreal¶
Import the mask and diffuse into Unreal, in the same folder as the asset (or in a texture folder if it has one). Here is what it may look like once everything is in (colorization textures, duplicated material, icon textures and material)
- Set the LOD settings for the mask. They should be Simple Average in the Mip Gen Settings. The LOD Group should be set to a specular group, depending on the type of asset. A weapon would be weaponSpecular, for example.
- Create colorization material(s)
- Make a duplicate of every material applied to the mesh that will need to be colorized. Name these duplicates with a “_Colorize” suffix
- Open the material and find the parent. There are colorized versions of most base materials, select the most relevant one.
- For example: MM_Equipment becomes MM_Equipment_Metallic_Colorized_MIC for an asset with metal parts.
Under BaseColor and Colorization sections, plug in the diffuse (albedo) and colorization masks.
- The Colorization section contains all of the color channels and is where the settings for them will be changed.
- Choose what channels you are using and turn those on so that you can see them. Be aware that cyan and yellow have swapped in editor.
- If the colors are not showing, you sometimes need to refresh it to colorize by scrolling down to the static switch parameters and checking that on, then back off.
- Note: If there are any special case materials here (wood, stone, etc) look at the special cases section for how to handle their setup.
- Place the asset in a level with game lighting and create a duplicate. Assign one the colorized material. This gives you a reference for the color you are trying to match and a way to make sure it looks as close as possible to the original by comparing side-by-side. For example:
- Start adjusting the color of each channel until the mesh surface color matches the appearance of the original asset.
- The base color buffer can be a great way to see the exact color without being effected by light. This is where to find that setting:
If a surface does not match well using the color wheel options (the surface can’t get light enough, the worn edges are the wrong color, etc) going back into the textures for further adjustment will be necessary. Repeat that back and forth process until happy with the match between original and colorized.
Once happy with the appearance, open the mesh file in Unreal and replace the non colorization material with its colorized version.
- Set up the blueprint
- If the asset has a blueprint, open that up.
- Search for “color”. You will need to turn on any color channels (set them to 1) that the asset is using before it will be possible to dye in game. Any set to 0 will not be used.
- Make sure the colors appear the same in game lighting at around 12 pm game time
- Play the game in editor (this needs to be done whenever the blueprint has been set up)
If equipable, drag and drop one of the dyes on it to open up the dye menu. The dye can be found here, drag this in your inventory to drop onto the item to be colorized.
- Check for only the used zones being dyeable. Any that are not dye-able will not be selectable in this menu. If you can dye them (the dye color fills the upper right box on the selected region) but that channel was not used then it needs to be turned off in the blueprint.
- Make sure all of those zones can be dyed and that the color shows up well. The above image is an example of what a dyed zone should look like.
- If the icon is done at this point, make sure that the icon is also showing up and dyeing correctly. Check this by applying the dye, leaving that menu, and looking at the icon in your inventory.
- If a structure, place the structure in game
- Drag the dye onto the paintbrush in the inventory and equip the paintbrush. Run up to the structure and hit it with the paintbrush to dye.
- Check for the same issues as in part a.
How To Colorize Icons¶
Example of a colorized icon:
|Icon Color Mask||Colorized Diffuse||Original Icons|
ATLAS DOES NOT REQUIRE COLORIZED ICONS. (IT USES DYNAMIC SYSTEM)
What requires a colorized icon? Any colorized asset with an inventory icon (so weapons, clothing, some items). Structures never have colorized icons.
Colorizing an icon
- Open the icon in photoshop and do the same initial setup as the diffuse (run the photoshop action to create the channels)
- Paint the sections with the colors they have in the colorization mask. This is done the same way as the asset’s colorized mask. Colors that shouldn’t border on a mesh shell can border here, it will have a minor white edge along the border of the colors but due to the size of the icons in game this is negligible.
- Create a desaturated diffuse in the same way as the asset texture.
- When saving out, name the textures with the prefix “HUD_” and suffix “_Colorize_m” or “_Colorize_d” depending on being the mask or the diffuse.
Setup in Unreal
- Import mask and diffuse into Unreal. Set the LOD Mip Gen Settings to Sharpen4 on both.
- Find a HUD material for a similar asset and copy that over to the asset folder. Rename for current asset.
- Copy paste the colors from the base asset colorization material so that the icon colorization matches. It is possible to right click on the color bar and choose copy to copy the color, then the same again (selecting paste) to paste the color into the color channel in the colorization section of the icon material.
- In the blueprint for the asset, search for “icon” and replace the icon material with the colorized version.
- Play game in editor and give yourself one of the items. Make sure the icon shows up in the inventory.
- Dye the item, checking that each dyed zone also correctly changes the icon appearance.
Wood and Stone¶
Wood and Stone have a slightly different method to colorization. In general, wood and stone don’t look as good with the usual approach of coloring over a b/w diffuse. Wood and Stone uses paint effects.
Any region of an asset that has wood is treated specially. It should be masked in full color but the underlying Albedo texture should not be desaturated. The color region simply tells the material which area will have a special paint effect colorization applied and the paint effects will also show the original base color.
Example asset with both normal and wood colorization
Note that everything is desaturated except for the wood part.
Settings to note for Wood and Stone colorization.
- Paint Effect is used to tell the material which regions are going to be colored as wood/stone (First red arrow)
- Paint Effect must be enabled (second arrow)
- UsingColor# turns on and off the paint effects per region. Should be set to 0 for any region that uses paint effects (third arrow)
- Edge effect should just be set to 0, the effect it leaves generally doesn’t look too great
- Mask Scale - allows you to adjust the Stroke Mask tiling
Emissive Colorization (Such as TEK)¶
- Use a base material that supports emissive colorization
- Keep the Emissive Color to white use intensity for intensity brightness.
- Set the emissive_region that should be emissive to 1 and allow the color set in the colorization channel to determine the color of the emissive.
Glass is not currently colorized
Clothing is colorized the same way as a normal asset, but should also be checked for the presence of a skin mask texture for each piece of clothing. If a skin mask is missing, this should be created once the colorization is done. Instructions for this can be found here: Creatures and Humans
Bosses often have three different difficulty level that need colorization for each one.
A collection of general information about colorizing. Ranging from what assets we colorize, to what the naming conventions are, etc.
Colorized asset types:
- Dino saddles and attachments
- Sometimes food is colorized for variations (like multiple colors of berries)
Exceptions not to colorize:
- Structure icons
- Dino icons
- Special structures. This is generally anything that is more function focused (like a workbench) while anything decorative (like a wall or chair) tends to get colorized
- Anything stackable
- Weapon attachments (unless it is part of the actual gun, ex Tek Rifle)
- “_Colorize_d” , “Colorize_m” suffix, depending on whether it is a mask or diffuse texture
- Materials also get the “_Colorize” suffix
- Icons have a “HUD_” prefix on textures and on the material
Special Texture settings¶
- MIP Gen Settings - SimpleAverage
- LOD Bias - generally set enough to reduce the Displayed value to 1024 or 512 or even 256 if possible without it looking too bad
- Colorization mask textures belong in the Specular LOD Group for their respective asset. (ie tomahawk is a weapon -> WeaponSpecular)
Notes about Colorization in Unreal¶
Cyan and Yellow switch: In the material in Unreal, the yellow and cyan color channels will switch regions, so what was colorized as cyan in the texture will actually show up as the yellow region in editor.
Notes on Dino Colorization¶
Dino colorization at its foundation is very similar to asset colorization, with a few differences to note:
- There is much more blending in dino colorization, where there can be layers of colorizing on the same zone. In assets, the zones are rarely overlapped, that can be done on dinosaurs.
- Teeth, nails, claws, eyes, and the inside of the mouth are never colorized.
- Dinos tend to have fewer color regions due to needing to be careful about blending on the same mesh zones. Bugs/Insects may have more, but many dinos use just 3 color channels.
Common Issues and Edge cases¶
Structures with multiple states Anything with multiple states will need extra care when colorizing.
- Multiple states may include things like TEK that has an active and inactive state
- To colorize, two materials are needed (one for each state) with attributes that suit each state. For example, activated may have emissive, while deactivated does not.
- Emissive masks don’t always update properly in-game, so if it doesn’t seem to be working try turning the structure off and on again and it will often fix itself.
Magenta artifacts on icon in Unreal editor Sometimes magenta artifacts will show up in the editor window when looking at the HUD material. These do not show up in game and can be ignored. This is what that looks like: