private void applySkinning() {
        for(FbxBindPose pose : bindMap.values())
            pose.fillBindTransforms();
        if(limbMap == null)
            return;
        List<Bone> bones = new ArrayList<>();
        for(FbxNode limb : limbMap.values()) {
            if(limb.bone != null) {
                bones.add(limb.bone);
                limb.buildBindPoseBoneTransform();
            }
        }
        skeleton = new Skeleton(bones.toArray(new Bone[bones.size()]));
        skeleton.setBindingPose();
        for(FbxNode limb : limbMap.values())
            limb.setSkeleton(skeleton);
        for(FbxSkin skin : skinMap.values())
            skin.generateSkinning();
        // Attach controls
        animControl = new AnimControl(skeleton);
        sceneNode.addControl(animControl);
        SkeletonControl control = new SkeletonControl(skeleton);
        sceneNode.addControl(control);
    }
FBX file format loader
<p> Loads scene meshes, materials, textures, skeleton and skeletal animation.
Multiple animations can be defined with {@link AnimationList} passing into {@link SceneKey}
or loaded from different animation layer.</p>
jme3-plugins/src/fbx/java/com/jme3/scene/plugins/fbx/SceneLoader.java