🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Blending skin textures

Started by
10 comments, last by Prototype 7 years, 3 months ago

Right now i'm just using a diffuse texture with fixed function lighting (low ambient, high diffuse, and probably a bit of specular). The current meshes are ~10K verts? Bastioni are 19K. The render code is god awful - non-indexed (whatever the slowest one in the sample code was), and it uses the D3DX9 animation controller API, the one without key frames. while not very efficient, it does work. The slower code and wasted ram are not an issue, i still have gobs of both to spare. texture ram will probably be the first thing i'll run out of if i run out of anything at all.

I wasn't really planning on changing how characters are rendered. all i'm really trying to do is get a new set of girl meshes and textures whose chins are not so pointy! <g>. The topology around the mouth on the current meshes is a real mess. I could spend a day or more just cleaning that up - my modeling skills are still rather rudimentary. And before i started on these new meshes, it had been 2 years since i last did skinned mesh work for the game. so everything has to be looked up again - how to rig, how to animate, etc. and Blender is really a keyboard driven interface at its heart, and i have no cheat sheet (s=scale, r=rot, g=grab(translate), etc). So i guess i'm looking for the best way to combine some of these output textures to create a single diffuse texture.

Based on the docs, it looks i should start with the sub-dermal texture, then additive alpha blend in the dermal texture to control my redness hue, then multiply blend in the complexion texture to get the correct lightness. And then do what with the detail? multiply blend it looks like. and just ignore displacement - at least until i generate some skin tones that have it. But the complexion texture will need to be "normalized" some how to 0.5 = no change. Not sure how to deal with that.

I really only need the 5 girl meshes: wide nose, medium nose, asian eyes, asian eyes + wide nose, and thin nose + almond eyes. with just those 5 meshes, and about 30 skins tones, 6 hair meshes, 6 hair textures, and 3 or 4 eye colors, i can create a female from any area: South africa/australia, europe, asia, polynesia, north africa/mideast/india, mediterranian, or the americas (via the land bridge from asia ~12000 to 10,000 BCE). If i add north america via the atlantic ice bridge ~17000 BCE, i can just use europeans.

I suspect that mixing them in paint.net would be easier than using blender. guess i'll see what i can get from paint.net first, then move on to baking with blender if needed.

do the blend ops and blend order described above sound like they will get me close to the original intended result?

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

Advertisement

I'm quite sure just baking the texture will be a lot easier than mocking around with individual shader images. It's really nothing more than creating a new UV channel, map the object, create a blank texture and hit 'Bake'. This technique is also very useful to generate normal maps, lightmaps, pre-rendered caustics and what not. Not to mention the ability to render detail textures from high-poly models. All in all I guess enough incentive to investigate this feature.

Also, I would advice against using Cycles for rendering textures, since you will need an awful lot of samples to get rid of the noise. The internal Blender render will usually do the job smoother and a lot quicker.

On your last question; I don't think you will be able to reproduce the complete skin effect by using some blending operations in paint. The data is intended to work with the sub-surface scattering algo, and thus does not actually represent final pixel colors. You might be able to get it to look reasonable but I don't think it is worth the hassle and surely will provide for a tedious workflow.

This topic is closed to new replies.

Advertisement