void FbxsdkBuildHierachy(FBXNode fbxNode, SkeletonNode parentNode, Dictionary<SkeletonNode, FBXMesh> outputMeshDict)
 {
     var node = new SkeletonNode();
     node.Name = fbxNode.GetName();
     node.PoseMatrix = FbxsdkConvertMatrix(fbxNode.GetLocalTransform());
     node.Parent = parentNode;
     if (parentNode == null) skeleton = node;
     else parentNode.Children.Add(node);
     var mesh = fbxNode.GetMesh() ;
     if(mesh != null)
     {
         outputMeshDict[node] = mesh;
     }
     if (skeletonNodeDict.ContainsKey(node.Name))
     {
         Debug.Log("Found duplicated skeleton node name: " + node.Name);
     }
     else
     {
         skeletonNodeDict.Add(node.Name, node);
     }
     for (int i = 0; i < fbxNode.GetChildCount(); ++i)
     {
         FbxsdkBuildHierachy(fbxNode.GetChild(i), node, outputMeshDict);
     }
 }