Beispiel #1
0
        public static SkeletonState operator +(SkeletonState a, SkeletonState b)
        {
            SkeletonState val = new SkeletonState();

            val.UserId        = a.UserId;
            val.BodyLocation  = a.BodyLocation + b.BodyLocation;
            val.BodyRotation  = a.BodyRotation + b.BodyRotation;
            val.Head          = a.Head + b.Head;
            val.Neck          = a.Neck + b.Neck;
            val.Spine         = a.Spine + b.Spine;
            val.Hips          = a.Hips + b.Hips;
            val.LeftShoulder  = a.LeftShoulder + b.LeftShoulder;
            val.LeftArm       = a.LeftArm + b.LeftArm;
            val.LeftHand      = a.LeftHand + b.LeftHand;
            val.RightShoulder = a.RightShoulder + b.RightShoulder;
            val.RightArm      = a.RightArm + b.RightArm;
            val.RightHand     = a.RightHand + b.RightHand;
            val.LeftKnee      = a.LeftKnee + b.LeftKnee;
            val.LeftFoot      = a.LeftFoot + b.LeftFoot;
            val.RightKnee     = a.RightKnee + b.RightKnee;
            val.RightFoot     = a.RightFoot + b.RightFoot;
            return(val);
        }
Beispiel #2
0
        public static SkeletonState Interpolate(SkeletonState from, SkeletonState to, float percent)
        {
            SkeletonState s = new SkeletonState();

            s.UserId        = from.UserId;
            s.BodyLocation  = Vector3.Lerp(from.BodyLocation, to.BodyLocation, percent);
            s.BodyRotation  = Vector3.Lerp(from.BodyRotation, to.BodyRotation, percent);
            s.Head          = Vector3.Lerp(from.Head, to.Head, percent);
            s.Neck          = Vector3.Lerp(from.Neck, to.Neck, percent);
            s.Spine         = Vector3.Lerp(from.Spine, to.Spine, percent);
            s.Hips          = Vector3.Lerp(from.Hips, to.Hips, percent);
            s.LeftShoulder  = Vector3.Lerp(from.LeftShoulder, to.LeftShoulder, percent);
            s.LeftArm       = Vector3.Lerp(from.LeftArm, to.LeftArm, percent);
            s.LeftHand      = Vector3.Lerp(from.LeftHand, to.LeftHand, percent);
            s.RightShoulder = Vector3.Lerp(from.RightShoulder, to.RightShoulder, percent);
            s.RightArm      = Vector3.Lerp(from.RightArm, to.RightArm, percent);
            s.RightHand     = Vector3.Lerp(from.RightHand, to.RightHand, percent);
            s.LeftKnee      = Vector3.Lerp(from.LeftKnee, to.LeftKnee, percent);
            s.LeftFoot      = Vector3.Lerp(from.LeftFoot, to.LeftFoot, percent);
            s.RightKnee     = Vector3.Lerp(from.RightKnee, to.RightKnee, percent);
            s.RightFoot     = Vector3.Lerp(from.RightFoot, to.RightFoot, percent);
            return(s);
        }
Beispiel #3
0
 public void SetSkeleton(SkeletonState skeleton)
 {
     _defaultController.SetSkeleton(skeleton);
 }