I've updated from threejs r96 to r99 and animated fbx meshes went all over the place.
The same fbx loader script is used in both cases.
Animated collada models seems fine.
Can you please test if an additional line of code solves the issue? Please add the following line...
model.normalizeSkinWeights();
after this one:
https://github.com/mrdoob/three.js/blob/1cbcaab0b8c80cd66b5812881597529f9ebd19c0/examples/js/loaders/FBXLoader.js#L1233
Thank you, that was fast!
it seems to have fixed the issue with fbx models made from blender,
but fbx models made from cinema4D are still experiencing issues.
but fbx models made from cinema4D are still experiencing issues
Do you also have issues with these models with R96?
@mrdoob Would it be not better to call SkinnedMesh.normalizeSkinWeights() in all loaders that produce skinned meshes right now? I'm afraid we are going to have more support cases like this one...
I also had issues on r96 when using the latest fbx loader, but different ones.
The only way I know to get a perfect Cinema4D fbx files in threejs is to use this combo:
r96 + an old fbx loader (back from April 2018)
Okay, thanks for the feedback! I think it makes sense to separate both problems. Can you please share in this thread one of the problematic FBX files exported from Cinema4D? I'm sure @looeee can have a look at it.
The issue about SkinnedMesh.normalizeSkinWeights() is something different.
There seems to be quite a few reports if Cinema4D models being incorrect recently - maybe related to #15287 and #15097 and possibly happening since I switched to calculating transforms according to the spec in #14933.
@pikilipita could you check those issues and if your issues with the Cinema4D model seem related to those, post the model there?
Otherwise please make a new issue titled "Issues with Cinema4D FBX models" and include the model there.
Thanks, not too sure if they are related, as from my side I only see issues with animated models.
I created a new issue: #15358
I test on r99 + fbx loader at r96 and add model.normalizeSkinWeights().The model is OK.
@mrdoob Would it be not better to call
SkinnedMesh.normalizeSkinWeights()in all loaders that produce skinned meshes right now? I'm afraid we are going to have more support cases like this one...
Well, this change made me learn that models for GLTF files are supposed to have normalized skinweights so the computing would be redundant in that case. I would prefer to just fix FBXLoader instead.
I would prefer to just fix FBXLoader instead.
Okay, then let's do this selectively per loader if necessary 馃憤
@looeee Do you want to make the change for FBXLoader?
@looeee Do you want to make the change for FBXLoader?
Looks like you beat me to it! 馃槄
Most helpful comment
Looks like you beat me to it! 馃槄