How to solve the skin deformation problem caused by different skin weight directions during animation migration?

The following is what the skin will look like after the animation migration is completed.


My animation plays fine, but the skin is distorted. Can this problem be solved through code?

            const loader = new FBXLoader();
            loader.load('/static/resources/models/pg_actorcore_embed.fbx', function (model) {
                // globalModel = model; // 将加载的模型赋值给全局变量 pg_actorcore_embed  pg_ik_Modify_parent
                scene.add(model)
                // 加载动画
                const modelHelper = new THREE.SkeletonHelper(model);
                let modelSkeleton = new THREE.Skeleton(modelHelper.bones);
                modelHelper.skeleton = modelSkeleton
                scene.add(modelHelper)

                loader.load('/static/resources/animations/blender_animation.fbx', function (anim) {
                    let animbones = []
                    anim.traverse(function (object) {
                        if (object.isBone) {
                            //For ideal results, please comment the following code<
                            const newName = SMPL2ACTORCORE2[object.name];
                            if (newName) {
                                object.name = newName
                            }
                            //>
                            animbones.push(object);
                        }
                    });
                    const animHelper = new THREE.SkeletonHelper(anim);
                    let animSkeleton = new THREE.Skeleton(animbones);
                    animHelper.skeleton = animSkeleton;
                    console.log(animHelper)
                    scene.add(animHelper)

                    mixer = new THREE.AnimationMixer(modelHelper);
                    const clip = anim.animations[0];
                    clip.tracks.forEach(track => {
                        const boneName = track.name.split('.')[0];
                        if (SMPL2ACTORCORE2[boneName]) {
                            track.name = track.name.replace(boneName, SMPL2ACTORCORE2[boneName]);
                        }
                    });
                    let retargetedClip = SkeletonUtils.retargetClip(modelHelper, animHelper, clip, {
                        preserveMatrix: true,
                        preservePosition: false,
                        useFirstFramePosition: false,
                        preserveHipPosition: false,
                        useTargetMatrix: false,
                        names: SMPL2ACTORCORE2,
                    });

                    mixer.clipAction(retargetedClip).play();
                    model.rotation.x = -Math.PI / 2; // 使模型绕 X 轴旋转90度
                });
            });