Open hexabits opened 9 years ago
@jonwd7 Your muli-part solution seems good as it is universal and within nif and Nifskope.
NifSkope should be able to convert a BSLODTriShape to 3 NiTriShapes. It should append ":LOD0", ":LOD1", and ":LOD2" to each level's new NiTriShape.
I think that it would be good if Nifskope can convert BSLODTriShape into NiNode
containing three NiTriShapes with above mentioned append to their names.
And vice versa: Nifskope should be able to create BSLODTriShape only from NiNode
containing NiTriShape blocks (max. three) and only from those having their name ending with ":LOD0", ":LOD1", ":LOD2". So, when user will want to have for example only LOD0 and LOD2 in BSLODTriShape, he would create (or get it from 3D soft exported with nif export plug-in) NiNode with only two NiTriShapes with appropriate append in names.
Because it is easy to create NiNode
like structure of meshes with names in model in 3D soft (at least in Blender), so when the model is exported to nif, user get needed structure of NiNode->NiTriShapes in it.
I've come upon the realization that no tool exists which can reliably edit BSLODTriShapes. Here is the problem summed up in a diagram:
Level 2 = Should disappear first Level 1 = Should disappear second Level 0 = Should never disappear
Add/Delete Issues
Fixing this by hand would essentially be impossible, especially if the vertex order changes. The Triangle listed as using vertices 0,1,2 might not be the same as before, so you have no way of manually rearranging the triangles.
The artifacts from improper BSLODTriShape editing are primarily mesh holes from not increasing the triangle counts, or incorrect LOD switching behavior. If what used to belong in Level 0 is now in Level 2, it will disappear when it shouldn't. It's likely that the triangle was in Level 0 for a reason (it should never disappear, i.e. it's very visible).
The current "solution"
The real solution is multi-part
Future Possibilities