-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added BSShaderTextureSets merging #72
base: develop
Are you sure you want to change the base?
Conversation
"Combine Properties" Spell now combines identical BSShaderTextureSets. Checked if BSShaderTextureSets could be merged in Fallout 3, NV and Skyrim and found evidence in vanilla Skyrim .nif files that they are actually meant to be merged.
Adding @jonwd7 for input. |
The blender plugin merges identical texture sets by default. I think the other plugins do as well but not positive. |
@jonwd7 @deedes This spell ("Combine Properties") needs to be corrected to not combine the properites which are not allowed to be shared (they need to be unique for each node, otherwise it leads to Creation Kit crash). |
@ttl269 So are two unique |
@jonwd7 Yes - two (or more) unique |
@ttl269 I just noticed that Maybe I should create a ticket in nifxml to discuss this? After looking at the old code, it's odd that the |
@deedes @neomonkeus @ttl269 ... I tracked down the introduction of that condition to 5c7e253 but unfortunately there is no reasoning given for the change. What about combining |
@jonwd7 Yes, all these four Bethesda Shader Property blocks you mentioned use same two ShaderPropertyFlags and also next two items (UV Offset and UV Scale). So, some compound could be created and used by these blocks. Right now I am working on some update of |
@jonwd7 What about combining BSShaderTextureSet in older games like Fallout 3? Maybe they can't be combined in versions earlier than Skyrim? |
@ttl269 If it used block inheritance (an abstract parent) that would be better because instead of explicitly excluding all of { Note that the exact same thing is done currently for nif->inherits( iBlock, "BSShaderProperty" ) Unfortunately the naming is already super confusing on all these blocks, so I have no idea what you would name the abstract parent. |
Revisiting this, I believe that combining Since the texture set does not inherit NiProperty in any way, a separate spell called "Combine Texture Sets" should be devised instead. |
@jonwd7, indeed, there should be two separate issues. Not sure if you can merge texture sets. I think the tangent about properties and the inheritance tree hierarchy should be revisited. Not to clear what is involved when it comes to BSShaderTextureSet as those as members of the property blocks. |
"Combine Properties" Spell now combines identical BSShaderTextureSets.
Checked if BSShaderTextureSets could be merged in Fallout 3, NV and Skyrim and found evidence in vanilla Skyrim .nif files that they are actually meant to be merged.