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();
        }