World of Warships Camouflage: Decoded

From Redditor dziban303.

I normally have camouflages disabled altogether, since I use custom skins for many ships. However, with the 0.5.2 release of new, ship-specific camouflages for premium ships (which actually have benefits!), I opened camouflages.xml spent a few hours of my afternoon playing around with the camouflage system.

I wanted to re-enable the camouflage textures only for premium ships, while leaving the rest of the ships blank so my custom skins are visible. That’s not the reason for this post, but if anyone is interested in how to do it, let me know and I’ll share my customized files.


Important!

Before you make any changes to your game files, copy the files in the directory ..rescontentgameplaycommoncamouflagetextures and place it in the ..res_mods.5.2.0contentgameplaycommoncamouflagetextures folder. You will have to create those folders in res_mods. Do the same with ..rescamouflages.xml and place it in ..res_mods.5.2.0camouflages.xml. Do not edit any files in ..res or you’ll break your shit and people will laugh at you. To edit camouflages.xml, I recommend using NotePad++, but even shitty ole’ notepad.exe will work.


Camouflages: Decoded

For standard, non-ship specific camouflages (Type 1, Type 2, New Years, Halloween, etc.) the game takes a texture pattern and tiles it onto the ship model. As a tile, it repeats over and over, covering the whole ship. Here’s the texture for USN and Japanese Type 1 camouflage.

Obviously, the camouflage doesn’t look like that in-game. The pattern is the same but the colors are totally different. The colors are specified in camouflages.xml, located in the game’s res folder (or, if mods are used, in res_mods.5.x.x). In the xml file, the colors are specified thusly:

    <color0>0.008 0.008 0.008 0.900</color0>
    <color1>0.631 0.616 0.522 0.700</color1>
    <color2>0.045 0.100 0.350 0.850</color2>
    <color3>0.154 0.182 0.201 0.650</color3>

But which line corresponds to which color in the texture? What do the values mean?

Here’s a rarer camouflage texture (Dazzle_tile_camo_03.dds) with the colors indicated: Dazzle 3 key.

In camouflages.xml, color0 corresponds to black in the texture, color1 corresponds to red, color2 to green, and color3 to blue. This holds true for all the camouflage textures, including the ship-specific ones.

Again, the colors in the raw texture file have nothing to do with how the camo will appear in-game, they merely specify which regions will be colored a given value.

Looking again at the xml file:

    <color0>0.008 0.008 0.008 0.900</color0>

The values are in the standard RGBA format, where the first number is the Red value, second is Green, third is Blue and the fourth is Alpha. Alpha is a measure of how opaque the color is; a high value means totally opaque, a low value means it’s transparent. As this example has very low numbers for red, green and blue, and a high value for alpha, one can expect it to be very close to black.

Here’s a Mogami using the Dazzle 3 pattern with an extensive explanation.

Note: All screenshots taken in the “ocean” port that I modified to give a sun angle of 45 degrees, to better illuminate the scene

I matched the colors to what they are on the texture for easy identification. Changing the values around, you’ll get something else.

More on the alpha channel. Changing the alpha value determines how saturated the chosen color is. A low value will let the ships’ base color show through more than a high alpha value would. To see the effect, here is the Mogami again: Alpha effects. The colors are the same (0.000 0.950 0.000 for a bright green) but the alphas vary as shown in the image. A low value of 0.150 makes the grey hull easily visible, and progressively higher values change how saturated the color is.

So this is how the camouflage system in WoWs works.

How to translate the color values to more common formats

Yes, it’s kind of a strange way to specify colors. Yes, you’ll have to do a little work to translate the values into a format you can use on a color website, like the very good Color-Hex.com. That website allows you to input colors using RGB & RGBA percentage values, but it won’t accept a value like 0.631 0.616 0.522. You’ll have to convert the numbers into a percentage and round them: 63% 62% 52%, so you’d input rgb 63% 62% 52%. Unfortunately, it’s a little more difficult going the other way, since I haven’t found a color resource that will give you a color’s value in RGB percentages. The best you’ll usually get is an RGB value on a scale of 1-256 (e.g. 156,115,55) or the corresponding hex codes, like #9C7337, commonly seen in HTML and CSS. It’s easy enough to convert. If you have decimal values like 156,115,55, just divide the number by 256, e.g. 156/256 = 0.609…which you can put directly into camouflages.xml. Converting hex values like 9C7337 is trivial as well: open Windows calculator, set it to Programmer mode, make sure Hex is selected, type in the hex value of the first octet (9C), and then switch to decimal mode: 9C = 156. (Now you have to divide that number by 256 as described above).

Things you can do

Bored of the same old camouflage pattern, but don’t want to get into the xml file? Copy the directory ..rescontentgameplaycommoncamouflagetextures and place it in the ..res_mods folder. There, rename, for example, Dazzle_tile_camo_02.dds to IJN_tile_camo_02.dds. Now, Japanese ships with the Type 2 camouflage will have a different pattern. Experiment with the other dazzle tiles, seen here in “IJN Green”:

Dazzle_tile_camo_01.dds,
Dazzle_tile_camo_02.dds,
Dazzle_tile_camo_03.dds.

You can edit the textures, too. Just make sure you use the colors already present in the texture, and draw whatever you want.

Examples

By editing the camouflages.xml file, you can change the colors that are rendered. You can copy the color settings from other camouflages listed in the .xml file. Here is Dazzle_tile_camo_03.dds with different color settings copied from other patterns already in the game:

Using these as a template, you can edit the colors to suit your taste. I like this scheme (closeup).

Here are some changes I made to Cleveland’s permanent camo. I set it up so that Type 2 Camouflage displays this pattern (because you must be crazy to spend 1000 gold on this):

Another experiment: Hiryu using Dazzle_tile_camo_02.dds, with the Soviet colors as found on Murmansk‘s permanent camouflage:

It doesn’t always work. Here, I tried to apply the Iwaki permanent camo file to the Albany: Gross.

New (12/29/15): Kiev

This is one of my favorite creations to date. It’s using the Dazzle 2 tile with custom colors.

The colors I used were based on actual tints used by the US Navy in WWII, with some modifications:

Name #HTML rgb(x,y,z) Color code in XML
Dark(er) Black #131313 19,19,19 0.074 0.074 0.074 1.000
4A Brown #9c7337 156,115,55 0.609 0.449 0.215 0.800
ʤigrün #576957 87,105,87 0.340 0.410 0.340 1.000
Ƃłøõƥ #415e73 65,94,115 0.254 0.367 0.449 0.850

The biggest problem with editing the camouflage colors is that every time you make a change in the xml file, you have to restart the game to see it. This is because the xml file is only loaded when the game is launched (if you’re editing skins, on the other hand, all you need to do is select a different ship in your port, then go back to the one you’re working on, and the changes appear immediately.)

There are some other settings in the xml file. The area under <UV> seems to control the orientation of the texture. In the screenshots above, I left the figures alone, so except for the colors the pattern is identical. But compare this screenshot, where the xml file had different <UV> settings, with any of the others and you’ll see the pattern is considerably different.

Getting a bit more advanced with camouflages.xml, you can specify which ships will use which textures. You can create as many textures as you want, give them all unique filenames, and call them in the xml file. The game will see you’ve chosen Type 2 camouflage for your Mogami, and apply the texture file you specify; the Type 2 for the Ibuki can be totally different. Likewise, you can disable camouflages entirely for certain ships.

Note:

There’s inevitably someone who is confused: Everything you do to your textures or camouflage.xml settings are local. Other people will not see them. It’s for your own personal gratification. Changes will affect both your ship, and anyone else using the same camouflage Type.


Hardcore mode: Editing camouflages.xml

Here’s an example of what you’ll find in the xml file. The following is stock, copied from an unaltered camouflages.xml file. (Because I backed my shit up. Back your shit up.)


<camouflage>
    <annotation>Блок тайленых японских камуфляжей для большинства кораблей с квадратной текстурой</annotation>
    <name>camo_1_tile</name>
    <targetShip>PJSC001_Katori_1940 PJSA002_Hosho_1939 PJSA006_Zuiho_1944 PJSA009_Ryujo_1933 PJSA011_Hiryu_1942 PJSA017_Hakuryu_1942 PJSB001_Kawachi_1912 PJSB007_Kongo_1942 PJSB006_Fuso_1943 PJSB010_Nagato_1944 PJSB013_Amagi_1942 PJSB021_Izumo_1938 PJSB018_Yamato_1944 PJSB008_Ishizuchi_1921 PJSB011_Mikasa_1905 PJSD001_Tachibana_1912 PJSD002_Umikaze_1925 PJSD024_Wakatake_1923 PJSD003_Isokaze_1917 PJSD004_Minekadze_1920 PJSD005_Mutsuki_1926 PJSD006_Hatsuharu_1945 PJSD007_Fubuki_1944 PJSD010_Kagero_1943 PJSD012_Shimakaze_1943 PJSD014_Tachibana_1912_Asus PJSD017_Kamikaze_1930 PJSD025_True_Kamikaze PJSD026_Camo_Kamikaze</targetShip>
    <tiled>true</tiled>
    <UV>
        <Tile>3.7 3.7</Tile>
        <Bow_DeckHouse>1.85 1.85</Bow_DeckHouse>
        <MidFront_DeckHouse>1.85 1.85</MidFront_DeckHouse>
        <MidBack_DeckHouse>1.85 1.85</MidBack_DeckHouse>
        <Stern_DeckHouse>1.85 1.85</Stern_DeckHouse>
        <Gun>0.6 0.6</Gun>
        <Bulge>1.8 1.8</Bulge>
    </UV>
    <Textures>
        <Tile>content/gameplay/common/camouflage/textures/IJN_tile_camo_01.dds</Tile>
    </Textures>
    <color0>0.086 0.082 0.067 0.706</color0>
    <color1>0.035 0.047 0.012 1.000</color1>
    <color2>0.125 0.133 0.047 1.000</color2>
    <color3>0.263 0.275 0.133 1.000</color3>
</camouflage>

  • <annotation> can be set to whatever you want.
  • <name> should be set to either camo_1_tile or camo_2_tile depending on whether you want it to apply to Type 1 or Type 2 camouflage. Other values it could be: camo_halloween_tile, camo_ranked_tile, camo_newyear_tile, camo_supertest_tile.
  • <targetShip> indicates which ship or ships the pattern will apply to. In this case, it covers just about all of the Japanese ships. If you want it only to apply to certain ships, delete the names you don’t want. If you don’t know what the correct code for a ship is…just CTRL+F and search for it (e.g. “Taiho”), then copy the whole string you find (e.g. PJSA015_Taiho_1944).
  • <tiled> specifies whether the texture is tiled or not. This should be false for most ships with custom, bespoke camos. Leave to true for everything else.
  • <UV> Section seems to determine the orientation of the texture. You can fiddle with these numbers to change how the texture appears. Before putting your own values in, copy some from other listings in the xml file to see exactly how it works. I haven’t spent a whole lot of time on this. Someday…
  • <Textures> Here is where you specify the filename of the texture file. You can simply change it to read, for example, Dazzle_tile_camo_03.dds if you want, and it should use that texture for the ships in <targetShip>.
  • <color0....> Color settings for the pattern, as described above.

Here’s an edited section from camouflages.xml. This is the code that produces this pattern on my Mogami.


<camouflage>
    <annotation>mogami 2 by dziban</annotation>
    <name>camo_2_tile</name>
    <targetShip>PJSC009_Mogami_1935</targetShip>
    <tiled>true</tiled>
    <UV>
        <Tile>3.8 3.8</Tile>
        <Bow_DeckHouse>1.9 1.9</Bow_DeckHouse>
        <MidFront_DeckHouse>1.9 1.9</MidFront_DeckHouse>
        <MidBack_DeckHouse>1.9 1.9</MidBack_DeckHouse>
        <Stern_DeckHouse>1.9 1.9</Stern_DeckHouse>
        <Gun>0.44 0.44</Gun>
        <Bulge>1.9 1.9</Bulge>
    </UV>
    <Textures>
        <Tile>content/gameplay/common/camouflage/textures/aIJN_tile_camo_02.dds</Tile>
    </Textures>
    <color0>0.045 0.190 0.350 0.800</color0> <!-- blue -->
    <color1>0.014 0.032 0.041 0.870</color1> <!-- grey -->
    <color2>0.000 0.142 0.161 0.750</color2> <!-- green -->
    <color3>0.631 0.616 0.522 0.700</color3> <!-- white -->
</camouflage>

Note the filename I used: I chose aIJN_tile_camo_02.dds so that it’d be listed right next to the original IJN_tile_camo_02.dds in Windows Explorer…but it doesn’t matter what you name the file. surprise_boats3x.dds works as well as anything. As long as you have <name>camo_2_tile</name>, it will change how Type 2 camouflage works. If it said <name>camo_1_tile</name> it’d change Type 1 camouflage.


Turning camouflages off

If, like me, you use custom skins, the in-game camouflages interfere with them. Or maybe you hate the camouflages. Whatever the reason, turning camouflages off is simple. First, you could download something that does it for you. Aslain’s Modpack has a camouflage disabler. Alternatively, you can edit the <colorX> lines to 0; this will mostly disable the camouflage:

    <color0>0.000 0.000 0.000 0.000</color0>
    <color1>0.000 0.000 0.000 0.000</color1>
    <color2>0.000 0.000 0.000 0.000</color2>
    <color3>0.000 0.000 0.000 0.000</color3>

You may notice a bit of “ghosting”, traces of where the edges are in the camouflage textures. To resolve that, you can use a “blank” texture file. No edges? No problem.


Inspired? Here are some resources.

  • Shipcamouflage.com – Great site for USN camouflage patterns.
  • Wikipedia has an excellent expanded section on US Navy camouflage of WW2

2 thoughts on “World of Warships Camouflage: Decoded

Comments are closed.