I wanted to dive back into video game modding, and have really enjoyed playing Baldur's Gate 3! I decided I wanted to learn how to mod it and bring the heads of some of my favorite characters into the game. It turned out to be quite a process over a few weeks to figure out how to do so.
Baldur's Gate 3 has a set of heads players can choose from for their characters. I started with a head that most closely was the same proportions as my reference head.
I then selected the vertices on the face that I'd shrinkwrap onto the reference head. I avoided the eyes as they'd easily get messy, and sculpted them to shape after.
There was further editing needed on the eye details to fit the new face. I also wanted to have the heads available for four different races: human, half-elf, elf, and tiefling. For this, I had to attached different ears to the models.
A crucial part of the heads working well was I needed to make a custom skeleton so there'd be no weird movements with the face and so the piercings would fit. There were a few fan made tools and tutorials that helped, but I ran into glitches along the way I had to pinpoint and solve with lots of trial and error, until I finally got my custom skeletons working.
For textures, Baldur's Gate 3 uses a different process than many other games that just use a color, roughness, and normal map. They use RGB and masks for easy tinting across many characters. Because of this though, I couldn't just copy over the character's original textures, I had to recreate them with BG3's textures.
To start, I roughly wrapped the head shape and tested the various skin textures on the head. I then made not of what features I thought would resemble the character.
I was able to test the textures nearly in realtime without closing the game, and I'd copy and paste and stretched various features from different skin textures until I reached the look I was going for. Her eyebrows and freckles I hand painted, and her eyebrow scar was custom made as well.
One of the last steps was to make the heads be a new option in the menu and not just replace an old head. This step was highly confusing to figure out at first and required changing a number of entries and UUID's to point to my new head. Along the way I ran into a lot of glitches and the head wouldn't showing up. But after a few days of problem solving, re-reading tutorials and understanding the different changes needed, I got the heads to properly show up in the menus!
After weeks of testing and trial and error, the heads I made were both finally in game working nicely and ready to share for others to use!