This guide will primarily cover creating face tattoos using Blender (to paint) and Photoshop (to compile into an atlas).
Alternatively, Substance Painter can be used instead of Blender, as can GIMP/Paint.net/etc. for atlas work.
The tattoos and makeup are all located respectively on a single atlas file, utilizing a grid and channels to determine number and order of the individual options.
They look like this:
..\Baldurs Gate 3\Data\Generated\Public\Shared\Assets\Characters\_Models\_SharedAssets\SHARED_Atlas\Resources
Skin_Atlas_Head_SHR_Tattoo_A_MSK1.DDS
Skin_Atlas_Head_SHR_Makeup_A_MSK2.DDS
..\Baldurs Gate 3\Data\Generated\Public\Shared\Assets\unique_tav\FACE
Skin_Atlas_Head_SHR_Tattoo_A_MSK.DDS
KVT_Head_Atlas_Tattoo.DDS
Skin_Atlas_Head_SHR_Makeup_A_MSK.DDS
KVT_Head_Atlas_Makeup.DDS
Location for UT and KAVT is
..\Baldurs Gate 3\Data\Generated\Public\Shared\Assets\unique_tav\BODY\TATTOO
Skin_Atlas_Body_UNI_Tattoo_A_MSK.DDS
This tutorial focuses on simply creating face tattoos (or makeup) and then putting them on a vanilla atlas. For specifics regarding KAVT it is recommended to check out the articles and resources found here on the Nexus page
There is a Youtube video (silent with captions) going over this part for those who prefer it:
https://youtu.be/sHszyXyko0Q
While we can directly paint onto a head model without textures, it is recommended to use Volno’s Texture Toolbox. For this purposes the setup is easy as the blend file already contains a vanilla head hooked up to the shaders, we can use this.
First, hide everything aside from the head meshes and lights. Now we want to join the ears to the head mesh - this will allow us to paint over both as one mesh.
To do that, rename the UV maps of the ears mesh so they are identical to those of the head mesh. The UV maps of the ears should look like this:
Now select the ears, then head and Ctrl+J to merge them.
Head over to the Shading tab, select the head and zoom in to find the tattoos/makeup nodes, expand the Tattoo Atlas part. If we wish we can change the colour which shows in Blender (in this case we’re just using Tattoo A so will set it to black and with a strength of 1 - fully visible):
Now, create a new image texture by clicking anywhere outside of the nodes, right click -> Add -> Texture -> Image Texture
Rename it (this will be the name of our tattoo png which we will later place on our atlas), and resize to 2048 if using the upscaled atlases:
Now hook the two up:
Now we finally switch to the Texture Paint tab. Resize windows as per preference then make sure both the image on the left and right are set to whatever the tattoo was named. On the right also set it to Material mode like so:
The basic tools we will be using are brushes (some of these can use tablet sensitivity), radius, the black/white spectrum, and symmetry:
Another useful tool, especially for lines and curves, is brush stabilizer found up here (play around with Radius and Factor to preference):
And finally, since tattoo/makeup maps are black and white masks - we will primarily be painting with white to draw the tattoos/makeup. Black will “erase”, and everything in between may be played with to work with transparency.
Brush Strength can also be used for transparency, just note that it works additively which may not always be desired.
As we paint, we see this projected onto the head/ear UV map shown in our tattoo image like so:
(orange text added onto screenshot - not part of the tattoo)
We can see the lines that transcend the UV seams automatically get mapped as appropriate for seamless transitions - this is one of the major advantages of doing this in Blender vs 2D editing of the tattoo maps alone!
So when we’re happy with what we did we save (you should be saving often anyway, you never know when Blender may crash):
Put it somewhere in your working files:
Good job! Before we exit Blender and continue to Photoshop (or editor of choice), we may want to make more because now we got the flow right?
There may be a better way of doing this, but here’s a way to kind of organize it.
Unhook your tattoo node and create another, hook it up and now we’re making a second separate image:
Note that the tattoo and makeup images are essentially interchangeable, both here in Blender as well as on the atlases - the only determining factor is which atlas you put it on whether it shows in game as as makeup option or tattoo.
What we can do here for funsies is hook one up to tattoo and the other to makeup. Give one a separate colour to better see what you’re doing (this is only in blender, our image will still be greyscale).
The image below is a demonstration of that.
Note: The Toolbox shaders show so as the tattoo overlays the makeup - as of writing this I don’t believe the game’s shaders work this way. From what I can tell the makeup set at 100% intensity will completely overlap the tattoo, and values below that will be mixing the two.
Ok now we move on.
Here is where things may differ due to different graphics programs as well as different atlas sizes such as those between vanilla/UT and KAVT. Again, for KAVT specific info please check out the articles on Nexus as well as the provided working files for editing the special KAVT atlases!
Assuming we are working with the vanilla or Unique Tav atlas, we can already grab Soriyumi’s Upscaled Tattoos and Makeup from Nexus as a template to work with. These are 8192x8192 and will work out of the box with our 2048x2048 tattoos/makeup.
Open the atlas DDS and copy the contents of each channel into layers for better editing:
Now create a new guide layout with these settings:
If you are editing many tattoos that spread across more channels, it may be useful to organize your layers into groups:
So, now we can open our tattoo image into Photoshop as well (it opens in a new tab), select all then copy and paste into our atlas psd (remember to save your working file as you go). Now move it to the spot you’d like to replace (it should snap into place when you are near):
Once done with adding all tattoos, save this psd to have a future save point to edit further. Now save as and call it something like tattooedits-merged.psd. This is the one we will continue with.
Merge each layer group into themselves, then copy each one into their respective channel of the full/main atlas layer as seen below (note that the green and blue channels aren’t edited here thus no change is seen for those). After that flatten the image:
Now save as DDS (keep that extension all caps):
And use these settings (this may differ depending on DDS plugin. Shown below is using Intel® Texture Works Plug-in)
Important: BC1 Linear and NO mipmaps
Now rename your file to match exactly the one you are replacing and place it in the game files in the appropriate place (see The Basics at the beginning of this tutorial).
Done!
…someone help me here xd
feel free to edit