About faces and coloration system

Talk about the mods or features you'd like to see in Daggerfall Unity. Give mod creators some ideas!
Post Reply
Zomgmeister
Posts: 21
Joined: Mon Aug 05, 2019 3:05 pm

About faces and coloration system

Post by Zomgmeister » Fri Aug 09, 2019 8:06 am

Yet another thing that feels really dated in the classic game is facial appearance. Just 10 preset heads per race-gender combo and that's it is WAY below the minimum that modern players are used to.

I do understand that the engine right now can't use these assets I've done in Photoshop in about 2 hours, yeah. But probably this is a good feature to implement after 1.0.

1. Division of hair and faces

Image 1.

What you can see there is all the familiar Altmer girls, who decided to share their hairs to each other. Here is what I've done:

1: Cut all the hair, pixel by pixel. Only partially erased faces remained.
2: Found the most complete face, with as less hair as possible. It was the girl with gray high ponytail.
3: Copied that face, layered it below other face, with holes from cut hair. Now these holes are filled by that copy face. Some editing was required, but not much.
4: Repeated for all ten faces. In the process that original face also was tweaked a bit, 2-3 pixels changed or so. But at the end all heads had full ears, similar (but not equal) jawlines et cetera. As you can see, they basically remained the same in the end result, because streamlining was minimal.

5: Returned to the full heads, deleted all faces now, only hair remained.
6: Set rows of faces, where row 1 was 10 times the face 1, row 2 was 10 times the face 2, and so on.
7: Put all 10 hairs above row of face 1. Edited the hair, filling the missing pixels here and there.
8: Moved and repeated fixing for all 10 rows. Actually after 3 or so rows it was just "moved, looked, didn't found anything to change, next row", so really easy actually.
9: After all the hair-face combinations looked fine, multiplied the final hair, covering all rows.

There you go, 100 fine Altmer lasses from basically the same assets as before. Although it is easier to notice here that several faces look almost exactly equal, with minimal differences. But that's what it is, no big deal.

So. It is pretty easy for me to do all races and genders like that, producing perfectly fitting 40x50 pixel .PNG files, for example. The thing is, I know that it is impossible to put this system into the game now, but if it will be put later and people are interested, then I definitely will do it later.

2. Hair color

Image 2.

Here are again all Altmer girls, with their default hair styles. This works for any switched hairstyle as in previous thingy, of course. And here's what I've done:

1: Copied the layer of all the hair (without faces, of course), and erased everything that was hair. The only things that remained were earrings and other accessories. You can see these here and there, and they retain their color. I am not sure about the girl in column number 7, with green eyes and sad face — there are some pink pixels in her hair, and I've decided to keep these. Perhaps there are some flowers or something. It is trivial to remove these, of course.
2: Made a solid color layer, black, with the mask equal to the hair. So basically it is pure black pixels where anything hairy is.
3: Copied that solid color layer, made it white. Mask remains the same.
4: Completely desaturated the hair, making it grayscale.
5: Applied image: grayscale hair to the mask of the white solid color layer. So where the hair was white, it stays opaque, and where the hair was black, it became transparent, showing black layer underneath.
6: Used levels on that mask, pulled central point to 1.32 to the left. Without that it was too dark.
7: And now I could change the color of the top solid color layer from white to anything really. Also can change the color of the bottom black, but it doesn't look good.

So at the end here is arrangement of the layers:

— Accessories like earrings, which are shown above the hair, but should not be dyed with the hair.
— Color of the hair with the mask.
— Black background of the hair.
— Hairless face.

Again, it is kinda trivial for me to redo all the assets, if at some time this kind of character customization will be included in the game. Next step is obvious: "unlock" faces from races, so it could be possible to use a Dunmer face with Altmer hair as a Bosmer character. Of course, with correct Bosmer skin tone and any hair color.

3. Thoughts about dyes

There are quite a few assets in the game which can change colors partially, and it is great start. But again, it may be improved. And people like to have manual access to dyes of their equipment, obviously to paint their armor in hot pink, but who am I to judge.

So here is what I am thinking is probably a good idea. It will, of course, require redoing all the assets, but still feels like a good idea.

1: If the asset (texture) has a pixel which is exactly the grayscale, that is RR=GG=BB, from 000000 to ffffff, then this pixel is subject to "Primary Coloring". Example is, obviously, materials of weapons/armor.

Image 3. Was used in another thread, my take on recoloration of all the materials.

Four things are important here.
— First, only the grayscale pixels are supposed to be subject to changing the color. I've done this manually, of course, but you may see that the rightmost plate Cuirass retains its' yellow decoration through all materials. As it was in the classic, and as intended.
— The way to use monochromatic pixels which are not supposed to be subject to recoloring is actually cheating a bit: just make it fffeff or 000001 instead of pure white/black. Same with any gray, cdcccc, for example. It is impossible to notice the difference really, but the engine, who uses numbers instead of eyes, can and will render cdcccc and cccccc completely different if coloration is implemented.
— Primary Coloring is supposed to use two colors: base/albedo and sheen/specular. For hair I always used black base/albedo, but for metals I actually never did, as you can see on Image 3. This allows to have very interesting results, just look on rusty Iron.
— There are quite a few asset families which are not using Primary Coloring (however its' analogue is implemented now), but they really should. Obvious example is hair. Less obvious example is skin color, within reasonable limits. I'm sure you can find quite a lot of different assets where this system really could help.

Now it becomes fun.

2: If the asset has a pixel of pure primary color, like XX0000 or 00XX00, where XX is anything from 01 to FF, then this pixel is subject to "Secondary Coloring", or "Dye System". More precisely, there are exactly three Secondary Colors: RR, GG and BB.

It is easier just to provide example which explains everything.

So, I want to make a texture for an Armor piece, let's say Cuirass, which could be dyeable. For the sake of example look again on that rightmost plate Cuirass from Image 3, with the yellow stripes.

I want to use two dyes: first for the yellow stripes, second for the band between the stripes on the chest. Everything else should be subject to the Primary Coloring.

Image 4.

Leftmost is the actual texture. As you can see, the majority of it is grayscale, but the stripes are now completely red and the band is saturated green. And the orher four variations are the complete result, in Steel, Iron, Elven and Daedric.

I used simplified coloration for the Primary, actually exactly the same I use for the Secondary, and this is why it is more bland than on Image 3. Still not that bad though.

And that's my concept for the dyeing system. Now, for example, consider putting character faces through this, with skin as a Primary (probably limited to the player, so no purple-skinned Altmers) and things like eyes, lips and accessories as a Secondary.

//

Again, I know that it is impossible to do right away, and it's a long shot. But thought that it is still interesting idea to consider.

meritamas
Posts: 59
Joined: Sun Apr 07, 2019 6:16 am
Location: Slovak Republic

Re: About faces and coloration system

Post by meritamas » Sun Aug 11, 2019 7:59 pm

I like the custom face creator in Oblivion. Would appreciate a move in this direction, too.
At this point, I aim to improve DFU by formulating ideas and working out some details of how things could work better.

Zomgmeister
Posts: 21
Joined: Mon Aug 05, 2019 3:05 pm

Re: About faces and coloration system

Post by Zomgmeister » Wed Aug 14, 2019 10:05 am

Modern-style face editor, like the one in Oblivion, The Sims, EVE Online or whatever, is way more work.

//

So, I've completed my little project.

1. All faces and hairs were separated and put on different layers, and then exported to different images.
2. Each individual face and hair is positioned at the centre of 40x50 pixel rectangle.
3. If you reposit any hair of one race to any face of that same race, you'll get a semi-new face.
4. Some minor editing and correction was made, but everything possible was made to save as much of the original as was possible.

Some things were changed, such as all the elves of same race now have similar ears, while each race have different ears — you can easily discern High Elf from Wood Elf now. Dark Elf aren't hard to discern from others, but they also have their own brand of ears now. Oh, and Khajiits have smaller ears, which are completely covered by their default hair though, but think that is neat anyway.

But! If you'll examine, say, High Elf female faces in the classic game assets, then you'll notice that while each one have individual hair style, there are several duplicates of faces. Some of them differ only by lipstick color or something equally small. Also there are two equal Nord female heads, both face and hair is completely the same. So I've made sure that there are more variations of faces now.

Basically, if selection of hair and faces as different options will be at some point included to character creation process, we will practically have 10x assets. While right now there is only 10 faces per race/gender, there will be 10x10 face+hair combinations.

This is preview, where you can see that faces basically look like they did in classic. Which is a good thing.

Clean .png files which can be sliced to individual pieces and imported into the game, or into a mod, are attached.

//

If this is interesting and will be used, I can separate hairs from accessories and prepare hairs to be dyeable, like weapon/armor materials are. Of course, instead of "Orcish" or "Steel" color for hair, they got to have more natural colors. We are not constrained by VGA 256 color pallete, after all.
Attachments
Daggerfall Hairs.png
Daggerfall Hairs.png (182.77 KiB) Viewed 1640 times
Daggerfall Faces.png
Daggerfall Faces.png (131.46 KiB) Viewed 1640 times

Post Reply