BadDogSkyrim / PyNifly

Export/Import tools between Blender and the Nif format, using Bodyslide/Outfit Studio's Nifly layer. Supports Skyrim LE, Skyrim SE, Fallout 4, Fallout New Vegas, Fallout 76, and Fallout 3.
GNU General Public License v3.0
169 stars 15 forks source link

Some data loss on import. #142

Closed podvornyakva closed 1 year ago

podvornyakva commented 1 year ago

Hi. I've found one more issue. When i try to import Fallout 4 Facepart meshes (like /meshes/actor/character/characterassets/faceparts/ FemaleEyesAO.nif) vertex color data seems to do not apples on vertex color in Blender. After import and export back transparent part of mesh is solid. I've studied both (exported and vanilla) meshes via nifscope. Original mesh have transparency in nifscope viewport. Exported - does not. I tryed to paint vertex color data myself but still there is no transparency after export. I will continue to explore issue, cause it is necessary for me to make new facepart meshes somehow. They have morph groups.

UPDATE: I've findout solution. Actual name of vertex color data in Blender is VERTEX_ALPHA (Face corner/Byte color mode). But only imports on FemaleEyesGloss.nif file import. Other FaceParts do not import data layer correctly. After i added vertex color data layer, with same name of the layer, to FemaleEyesAO.nif, transparency appear in nifscope and in the game.

BadDogSkyrim commented 1 year ago

Those jackasses. They haven't set the vertex_alpha bit but they're using the vertex alpha anyway. That's why FemaleEyesGloss imports correctly and FemaleEyesAO doesn't.

Dunno if BSEffectShader just doesn't need the bit, or if that's true for everything or what. It's a bit weird because the alpha info is always there, whether the bit is set or not.

I think I'm going to be conservative: if it's a BSEffectShader I'll use the alpha whether or not the flag is set. On export, I'll always set the bit. If there's a VERTEX_ALPHA color layer. Hopefully setting the bit won't mess up FemaleEyesAO.

Also blender 3.5 is mucking with how they handle color layers, so I'll deal with that.

BadDogSkyrim commented 1 year ago

Fixed in next release.

podvornyakva commented 1 year ago

Good.