From 4d19577f763580f66df9de54bdf0ad68c4293237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9B=BE?= <442739441@qq.com> Date: Sun, 24 Feb 2019 10:50:47 +0800 Subject: [PATCH] Update FbxSkinningAccess.cpp --- src/fbx/FbxSkinningAccess.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/fbx/FbxSkinningAccess.cpp b/src/fbx/FbxSkinningAccess.cpp index f76d8ec..d89952b 100644 --- a/src/fbx/FbxSkinningAccess.cpp +++ b/src/fbx/FbxSkinningAccess.cpp @@ -76,6 +76,13 @@ FbxSkinningAccess::FbxSkinningAccess(const FbxMesh* pMesh, FbxScene* pScene, Fbx } for (int i = 0; i < controlPointCount; i++) { vertexJointWeights[i] = vertexJointWeights[i].Normalized(); + float flen = fabs(vertexJointWeights[i].x) + fabs(vertexJointWeights[i].y) + + fabs(vertexJointWeights[i].z) + fabs(vertexJointWeights[i].w); + float scale = 1.0 / flen; + vertexJointWeights[i].x = vertexJointWeights[i].x * scale; + vertexJointWeights[i].y = vertexJointWeights[i].y * scale; + vertexJointWeights[i].z = vertexJointWeights[i].z * scale; + vertexJointWeights[i].w = vertexJointWeights[i].w * scale; } } }