Beispiel #1
0
        public NewHavokAnimation(HavokAnimationData data, NewAnimSkeleton_HKX skeleton, NewAnimationContainer container)
        {
            this.data = data;

            ParentContainer = container;
            Skeleton        = skeleton;

            lock (_lock_boneMatrixStuff)
            {
                blendableTransforms = new NewBlendableTransform[skeleton.HkxSkeleton.Count];
            }

            RootMotion = new RootMotionDataPlayer(data.RootMotion);
        }
Beispiel #2
0
        public void MapToSkeleton(NewAnimSkeleton_HKX skel, bool isRemo)
        {
            //if (MODEL.Name.StartsWith("o"))
            //{
            //    Console.WriteLine("test");
            //}

            for (int i = 0; i < FlverSkeleton.Count; i++)
            {
                var    bone        = FlverSkeleton[i];
                string hkxBoneName = isRemo ? ((bone.Name.ToUpper() == "MASTER" || i == 0) ? MODEL.Name : $"{MODEL.Name}_{bone.Name}") : bone.Name;
                int    boneIndex   = skel.HkxSkeleton.FindIndex(b => b.Name == hkxBoneName);
                bone.HkxBoneIndex = boneIndex;
            }
            HavokSkeletonThisIsMappedTo = skel;
        }
 public NewHavokAnimation_InterleavedUncompressed(string name, NewAnimSkeleton_HKX skeleton,
                                                  HKX.HKADefaultAnimatedReferenceFrame refFrame, HKX.HKAAnimationBinding binding, HKX.HKAInterleavedUncompressedAnimation anim, NewAnimationContainer container)
     : base(new HavokAnimationData_InterleavedUncompressed(name, skeleton.OriginalHavokSkeleton, refFrame, binding, anim), skeleton, container)
 {
 }