internal DbBone(DbArmature armature, BoneData data) : base(data.Name, armature, data.Parent) { Origin = new DbTransform(data.Transform); _tween = DbTransform.Identity; CurrentGlobalTransform = Origin.GetMatrix(); Length = data.Length; Bones = new List <DbBone>(); Slots = new List <DbSlot>(); }
internal void ResetRecursive() { _tween = DbTransform.Identity; var parentTransform = Parent?.CurrentGlobalTransform ?? Matrix.Identity; CurrentGlobalTransform = Origin.GetMatrix() * parentTransform; foreach (var child in Bones) { child.ResetRecursive(); } }