Open Smartkin opened 11 months ago
I'ts hard to tell without knowing more about what you're doing.
could you provide a reproducible example?
I'ts hard to tell without knowing more about what you're doing.
could you provide a reproducible example?
Looking at the raw model file it seems like at some meshes the delta on all vertexes is 0. I assume then the library just clears the morph targets list if none of them change anything in the mesh?
I assume then the library just clears the morph targets list if none of them change anything in the mesh?
Yes, that is the case, see https://github.com/vpenades/SharpGLTF/blob/681b03b863000800e71e4976735a5da95e6c71f0/src/SharpGLTF.Toolkit/Geometry/Packed/_PrimitiveHelpers.cs#L48-L49
Now, I am wondering whether this is right or not. From the data perspective, it's a waste of resources to add an effect-less morph target, but not adding it changes the morph targets sequence indexing so it can result in incorrect morph target assignment and animation...
But it also depends on how are you using this...
I assume then the library just clears the morph targets list if none of them change anything in the mesh?
Yes, that is the case, see
Now, I am wondering whether this is right or not. From the data perspective, it's a waste of resources to add an effect-less morph target, but not adding it changes the morph targets sequence indexing so it can result in incorrect morph target assignment and animation...
But it also depends on how are you using this...
The model format of the game requires that all meshes have the same amount of morph targets. It's not too hard to work around it by just adding zeroed out morphs though
I assume then the library just clears the morph targets list if none of them change anything in the mesh?
Yes, that is the case, see
Now, I am wondering whether this is right or not. From the data perspective, it's a waste of resources to add an effect-less morph target, but not adding it changes the morph targets sequence indexing so it can result in incorrect morph target assignment and animation...
But it also depends on how are you using this...
Maybe it could potentially be an optional flag? As I said it's not too hard to work around if such behavior is expected but it's also not really mentioned anywhere that this would happen. Don't know how GLTF standard dictates this though
Don't know how GLTF standard dictates this though
Well, generally speaking, glTF specification does not like adding stuff that has "no effect" into the rendering... in fact, the gltf validator issues warnings if you do stuff like adding a mesh that is never used in the scene and so on
Currently using the library to export meshes with morph targets and I gotta say I love the library and the API for being so intuitive to use. However, one current problem I have is when loading the scene back to import back into my own format the amount of morph targets on a random mesh can be 0. What could be the reason for this?