private void GetSkeleton() { if (bHasAnimation) { SkeletonRoot = new LoaderSkeletonParentBone(); Int32 boneIdCounter = 0; Node rootNode = m_scene.RootNode.FindNode(GetSkeletonArmatureNode(m_scene.RootNode)); if (rootNode != null) { foreach (var node in rootNode.Children) { var bone = GetBoneByName(node.Name); if (bone != null) { LoaderSkeletonBone skeletonBone = new LoaderSkeletonBone(SkeletonRoot); skeletonBone.SetBoneId(boneIdCounter++); skeletonBone.SetBoneInfo(bone); FillHierarchyRecursive(node, skeletonBone, ref boneIdCounter); SkeletonRoot.AddChildBone(skeletonBone); } } } } }
public void CleanUp() { m_scene = null; m_meshes = null; Indices = null; Verts = null; T_Verts = null; N_Verts = null; Tangent_Verts = null; Bitanget_Verts = null; BlendWeights = null; BlendIndices = null; SkeletonRoot = null; }
public LoaderSkeletonBone(LoaderSkeletonParentBone parent) { this.parent = parent; m_children = new List <LoaderSkeletonBone>(); }