public AnimatedModel(Engine engine, Skeleton skeleton, ModelVariantIdentifier variant, ModelDefinition definition, ModelQuality quality) : base(engine, variant, definition, quality) { Skeleton = skeleton; _AnimationPlayer = new AnimationPlayer(); var nameMap = new Dictionary<string, int>(); for (var i = 0; i < Skeleton.BoneNames.Length; ++i) nameMap.Add(Skeleton.BoneNames[i], i); _BoneMap = Definition.BoneNames.Select(n => nameMap[n]).ToArray(); _InvertedReferencePose = Skeleton.ReferencePose.Select(_ => Matrix.Invert(_)).ToArray(); }