For standard blender shaders, use "Separate RGB" node to split the channels. I would recommend to instead use tw3 custom shader from Dyng's Blender Tools and use the ambient map as-is: https://github.com/dingdio/Witcher3-Blender-Tools
Which nodes in the standard shader would each of the rgb channels connect to? I've been trying to figure out how to bake these ambient maps to a new uv in blender. With the way Dingo's custom shader is setup, the red channel is just used as a parameter for the normals, while the green and blue channels are the gloss and specular which bake easily.
It is the parameter for normals in game too - specifically for DetailNormals overlays (pores, fabric weaving, simple things like that). You don't really bake it because you'll have to manually decide what parts of your mesh need to have the detailnormal, and what parts are better without it (like say lips don't need pores so paint the lip area black).
In standard shader, R = whatever, base color would do G = roughness (inverted) B = specular
Thanks for the reply. I'm just trying to transfer the vanilla game textures to the re-topologized mesh I made for Geralt, which has a different UV, but if I don't bake the red channel somehow that detail placement information will be lost. I was just wondering if there was a corresponding map type for the red channel, like how the g and b channels correspond to roughness/gloss and specular. Sounds like its a totally custom map type created for the game though. Funny that these are called ambient maps, but don't really relate to ambient occlusion as far as I can tell.
Baking the map as a diffuse seems to work, I just had to to change the color space from "Non-Color" to SRGB to get the colors correct and then change it back to apply to the mesh.
Too bad the next gen version broke the dynamic normal maps. Been messing around with RedKit recently to figure out what is missing, which is causing them to be absent in the new edition.
I can see that the textures are present in the game files. For example, the Ciri npc entity is referencing the proper xbm file, but it's not present in the animations. The blend maps seem to be at least present as well, at least the coordinates are there (guessing they're vertex painted maps), but the game isn't for some reason using them.
What is interesting however is that in the head mesh w3mesh file, it's only referencing the diffuse, the default normal and that green-yellow map. I don't have the old gen version so I don't know what the old ciri head mesh file looks like.
I'm wondering if this is an issue with animations not calling the textures or if the animations are trying to call something that is missing from the entity files. Hoping it's something just present on the entity or mesh files so all the animations don't need to be edited.
Edit: I compared the Triss normalblend vectors with your screenshots and they seem to be the exact same, so it's definitely not because the vertex groups are broken.
What I find also strange is that there are two separate texture files for 2k and 4k res normal maps for Ciri (I haven't checked other NPCs yet, just would be nice to get one NPC fixed to begin with). And for some reason the main npc entity ciri file uses the 4k variant, but the head related mesh and entity files use the 2k resolution version.
Thank you so much for this info. I'm trying to figure out if it's possible to make a mod similar to a decal body paint on a sucubuss but for face tattoos. I found a file for decals on a sucubus body characters\models\common\woman_succubus\body\model characters\models\common\materials\skin_body\skin_tattoo\skin_body__wa_01_succub_decal.w2mi and two files for decals on faces \characters\models\common\materials\skin\skin__dwarf_face_decal and skin__man_face_decal but I haven't been able to open the files. Do you maybe know what program would I need to use to open these files (file format w2mi. Right now I'm only using photoshop for porting and Krita for editing textures) and is it posible to replicate the efect of the decal files with a tattoo on a face (Ciri's and Geralt's)
Hello! It is most likely possible to add facepaint as a decal texture. You should use WolvenKit to open redengine-related files, and you will most likely end up editing a bunch of them. Reach me at discord (bsbah#3636) if you need some help getting used to WolvenKit x)
Barely. Changing his height like this mod does for Avallac'h would screw almost every cutscene with Gerry. Editing his mesh and offsetting bones a little would also offset animations, though this method's result would look better if done accurately. Yet, then you'd have to also edit all of Gerry's wearables and it's a s#*! ton of files.
So you couldn't do it? I thought it was very easy, it seems to me that many people would like Geralt's high stature in order to use it together with the amm mod to replace Geralt on wild hunt. Sorry for my English
Well, the easy way is to multiply character's dimensions in their quest file. That's what Avallac'h mod does. However, messing with those params screws character movement in cutscenes (i.e. character picks a bottle -- character's hands are misplaced; camera's showing us character's face in vanilla -- with changed dimensions it would focus on the chest or character; or would be in a different place entirely; two characters interact -- their placement's screwed) etc etc);
Alternatively, you can change mesh itself with no alterations to quest files. But since Gerry's composed of thousands of items, you'll most likely have to rearrange all the parts on the upper body. All armor chest pieces, wolf medallions, hairs, heads, beards, eyes, teeth, tongues etc etc etc
I'll add onto this and say that transparency in the Normal Maps gives reflectivity. Normal Maps for things like hair will be slightly transparent because of this. Red in the Ambient Texture also gives reflectivity. Adding reflectivity through the Ambient Texture is far better than doing it through the Normal Map from my experience. So detailed skin shading can be made by adding a bunch of semi-transparent red pixels throughout the Ambient Texture.
Hey thanks for the contribution! But the info you posted is not ehhhh entirely true.
Most materials utilize NormalMaps's alpha channel for Glossiness/Reflectivity, yes, but not the pbr_skin one. Pbr_skin_decal, at least judging from it's written parameters, seems to be an exact copy, but results may wary, so I'll make sure to test it. And Ambient's red channel only affected detailmap placement for faces and detailmap & decal for bodies in every test I did :')
I kept most maps one color: diffuse, normal, and ambient's green and blue channels, to remove them from the... equation? Ambient's red one is split in half, alpha in Normalmap has a huge vertical line right in the middle of a face, so it wouldn't be possible to miss them in game.
It's odd that you have that affect. I was able to use red on the Ambient channel to get reflectiveness. It's the same method that was used in the Realistic Sweat Mod.
Just checked it. It doesn't change red channel's map much, most work is done in green channel. It does appear red in rgb mode, sure, but it's just a side effect of storing 3 different grayscale maps in one image.
Bathsebah's information is absolutely correct. There is no reflectivity map, because reflections are a property a material exhibits due to several control textures and shader values. Reflection is not an intrinsic PBR property.
Typically normal map alpha channel is reserved for roughness, but this is not always true. Ambient/skin texture green channel takes the place of the normal map alpha channel. Somewhat comically, you can actually see some texture sets duplicate the roughness texture in both Ambient green channel and Normal alpha channel.
We researched quite a lot, and I've independently verified the information here.
25 comments
I would recommend to instead use tw3 custom shader from Dyng's Blender Tools and use the ambient map as-is:
https://github.com/dingdio/Witcher3-Blender-Tools
In standard shader,
R = whatever, base color would do
G = roughness (inverted)
B = specular
Yeah you can just hand-paint it with a smooth brush. Exclude eyes, nosestrills, mouth, hairy parts and especially UV seams.
I can see that the textures are present in the game files. For example, the Ciri npc entity is referencing the proper xbm file, but it's not present in the animations. The blend maps seem to be at least present as well, at least the coordinates are there (guessing they're vertex painted maps), but the game isn't for some reason using them.
What is interesting however is that in the head mesh w3mesh file, it's only referencing the diffuse, the default normal and that green-yellow map. I don't have the old gen version so I don't know what the old ciri head mesh file looks like.
I'm wondering if this is an issue with animations not calling the textures or if the animations are trying to call something that is missing from the entity files. Hoping it's something just present on the entity or mesh files so all the animations don't need to be edited.
Edit: I compared the Triss normalblend vectors with your screenshots and they seem to be the exact same, so it's definitely not because the vertex groups are broken.
I'm trying to figure out if it's possible to make a mod similar to a decal body paint on a sucubuss but for face tattoos. I found a file for decals on a sucubus body
characters\models\common\woman_succubus\body\model
characters\models\common\materials\skin_body\skin_tattoo\skin_body__wa_01_succub_decal.w2mi
and two files for decals on faces
\characters\models\common\materials\skin\skin__dwarf_face_decal and skin__man_face_decal
but I haven't been able to open the files.
Do you maybe know what program would I need to use to open these files (file format w2mi. Right now I'm only using photoshop for porting and Krita for editing textures) and is it posible to replicate the efect of the decal files with a tattoo on a face (Ciri's and Geralt's)
It is most likely possible to add facepaint as a decal texture.
You should use WolvenKit to open redengine-related files, and you will most likely end up editing a bunch of them. Reach me at discord (bsbah#3636) if you need some help getting used to WolvenKit x)
Changing his height like this mod does for Avallac'h would screw almost every cutscene with Gerry.
Editing his mesh and offsetting bones a little would also offset animations, though this method's result would look better if done accurately. Yet, then you'd have to also edit all of Gerry's wearables and it's a s#*! ton of files.
Alternatively, you can change mesh itself with no alterations to quest files. But since Gerry's composed of thousands of items, you'll most likely have to rearrange all the parts on the upper body. All armor chest pieces, wolf medallions, hairs, heads, beards, eyes, teeth, tongues etc etc etc
Red in the Ambient Texture also gives reflectivity. Adding reflectivity through the Ambient Texture is far better than doing it through the Normal Map from my experience. So detailed skin shading can be made by adding a bunch of semi-transparent red pixels throughout the Ambient Texture.
Most materials utilize NormalMaps's alpha channel for Glossiness/Reflectivity, yes, but not the pbr_skin one. Pbr_skin_decal, at least judging from it's written parameters, seems to be an exact copy, but results may wary, so I'll make sure to test it.
And Ambient's red channel only affected detailmap placement for faces and detailmap & decal for bodies in every test I did :')
Here's the most recent one:
link to imgur
I kept most maps one color: diffuse, normal, and ambient's green and blue channels, to remove them from the... equation? Ambient's red one is split in half, alpha in Normalmap has a huge vertical line right in the middle of a face, so it wouldn't be possible to miss them in game.
Bathsebah's information is absolutely correct. There is no reflectivity map, because reflections are a property a material exhibits due to several control textures and shader values. Reflection is not an intrinsic PBR property.
Typically normal map alpha channel is reserved for roughness, but this is not always true. Ambient/skin texture green channel takes the place of the normal map alpha channel. Somewhat comically, you can actually see some texture sets duplicate the roughness texture in both Ambient green channel and Normal alpha channel.
We researched quite a lot, and I've independently verified the information here.
Thank you for your time