10-09-2019, 02:36 PM
(09-27-2019, 07:53 AM)titibandit Wrote:(09-18-2019, 02:43 PM)unzipped Wrote: I'm trying to build a proper PBR shader on blender to work with most models. VirtualTurtle's video is very complete but looking at CrossMod's source, I think it's innaccurate in how he showed how to deal with the normal map.
Does anyone have any idea on how to fix lighting issues on some models? Preferably for Blender 2.8...
I think the game engine only use normals from the normal maps while blender seems to also mix vertex normals for lighting calculations, which results in some artifacts around separate meshes (like around pichu's mouth). Also, there's a cut along an axis on pichu's head and stomach, this can be removed by merging close vertices, but is this an importer bug or is the game really like that? I could see both, as the game doesn't have strictly the same lighting model as Blender, or maybe I'm simply too incompetant to properly reproduce CrossMod's implementation in blender nodes...
A hack would be to merge the mouth and body meshes so blender could shade them properly, but it seems like UV editing afterward would be a pain.
Also I read on here that for proper skin color, you need to use subsurface scattering, but surely the parameters are different for each characters (you don't want to give a red tint to pichu). If so, then where do I find the proper parameters? Basically I'm trying to get my hand on as much information on the game's rendering pipeline as possible.
Thanks.
I'm having the same issue! I don't need my models to be perfect, but in that case on mewtwo's head, it's really distracting. And I think the culprit is the same as in unzipped's case with Pichu's mouth.
Does anyone knows how not to have these lighting inconsistencies at mesh parts' borders?
Cheers,
From my years of research, this is because Blender manually recalculates normals averages and that the head's mesh is split. You could try the hack I mentionned, but then it'd be harder to do mesh animation (or maybe it won't, because of vertex groups?). I think the exporter doesn't properly set the vertices normals, but I haven't checked that. A slightly less hacky way would be to have a fused mesh with proper normals, and use the Tina addon to copy correct normals to the splitted meshes.
It's still weird, as blender seems to use vertex normals AND the normal map to calculate the final normal, while I believe the game only uses the normal map. And blender doesn't offer any control on this.