Пример #1
0
    private BodypartClassification GetBodypartClassification(Transform kinectTransform, BodypartClassification parentClassification)
    {
        BodypartClassification newBodypartClassification = parentClassification;

        if (kinectTransform == skeletonController.torso)
        {
            newBodypartClassification = BodypartClassification.Torso;
        }
        else if (kinectTransform == skeletonController.head)
        {
            newBodypartClassification = BodypartClassification.Head;
        }
        else if (kinectTransform == skeletonController.rightShoulder)
        {
            newBodypartClassification = BodypartClassification.RightArm;
        }
        else if (kinectTransform == skeletonController.leftShoulder)
        {
            newBodypartClassification = BodypartClassification.LeftArm;
        }
        else if (kinectTransform == skeletonController.rightHip)
        {
            newBodypartClassification = BodypartClassification.RightLeg;
        }
        else if (kinectTransform == skeletonController.leftHip)
        {
            newBodypartClassification = BodypartClassification.LeftLeg;
        }

        return(newBodypartClassification);
    }
Пример #2
0
    private float GetBlendWeight(BodypartClassification bodypartClassification)
    {
        switch (bodypartClassification)
        {
        case BodypartClassification.Root:
            return(rootBlendWeight);

        case BodypartClassification.Torso:
            return(torsoBlendWeight);

        case BodypartClassification.Head:
            return(headBlendWeight);

        case BodypartClassification.RightArm:
            return(rightArmBlendWeight);

        case BodypartClassification.LeftArm:
            return(leftArmBlendWeight);

        case BodypartClassification.RightLeg:
            return(rightLegBlendWeight);

        case BodypartClassification.LeftLeg:
            return(leftLegBlendWeight);

        default:
            return(0);
        }
    }
Пример #3
0
        public BoneTriplet(Transform kinectTransform, Transform mecanimTransform, Transform blendedTransform, BodypartClassification bodypartClassification)
        {
            this.kinectTransform  = kinectTransform;
            this.mecanimTransform = mecanimTransform;
            this.blendedTransform = blendedTransform;

            children = new List <BoneTriplet>();

            this.bodypartClassification = bodypartClassification;
        }
        public BoneTriplet(Transform kinectTransform, Transform mecanimTransform, Transform blendedTransform, BodypartClassification bodypartClassification)
        {
            this.kinectTransform = kinectTransform;
            this.mecanimTransform = mecanimTransform;
            this.blendedTransform = blendedTransform;

            children = new List<BoneTriplet>();

            this.bodypartClassification = bodypartClassification;
        }
Пример #5
0
    private void AddChildren(ref BoneTriplet triplet, BodypartClassification parentBodypartClassification)
    {
        for (int i = 0; i < triplet.kinectTransform.childCount; i++)
        {
            BoneTriplet childTriplet = new BoneTriplet(triplet.kinectTransform.GetChild(i),
                                                       triplet.mecanimTransform.GetChild(i),
                                                       triplet.blendedTransform.GetChild(i),
                                                       GetBodypartClassification(triplet.kinectTransform.GetChild(i), triplet.bodypartClassification));

            if (parentBodypartClassification != childTriplet.bodypartClassification)
            {
                RegisterRootBone(childTriplet);
            }

            if (childTriplet.kinectTransform == skeletonController.neck)
            {
                neckRoot = childTriplet;
            }

            triplet.children.Add(childTriplet);
            AddChildren(ref childTriplet, childTriplet.bodypartClassification);
        }
    }
    private void AddChildren(ref BoneTriplet triplet, BodypartClassification parentBodypartClassification)
    {
        for (int i = 0; i < triplet.kinectTransform.childCount; i++)
        {
            BoneTriplet childTriplet = new BoneTriplet(triplet.kinectTransform.GetChild(i),
                                                       triplet.mecanimTransform.GetChild(i),
                                                       triplet.blendedTransform.GetChild(i),
                                                       GetBodypartClassification(triplet.kinectTransform.GetChild(i), triplet.bodypartClassification));

            if (parentBodypartClassification != childTriplet.bodypartClassification)
            {
                RegisterRootBone(childTriplet);
            }

            if (childTriplet.kinectTransform == skeletonController.neck)
            {
                neckRoot = childTriplet;
            }

            triplet.children.Add(childTriplet);
            AddChildren(ref childTriplet, childTriplet.bodypartClassification);
        }
    }
    private BodypartClassification GetBodypartClassification(Transform kinectTransform, BodypartClassification parentClassification)
    {
        BodypartClassification newBodypartClassification = parentClassification;
        if (kinectTransform == skeletonController.torso)
        {
            newBodypartClassification = BodypartClassification.Torso;
        }
        else if (kinectTransform == skeletonController.head)
        {
            newBodypartClassification = BodypartClassification.Head;
        }
        else if (kinectTransform == skeletonController.rightShoulder)
        {
            newBodypartClassification = BodypartClassification.RightArm;
        }
        else if (kinectTransform == skeletonController.leftShoulder)
        {
            newBodypartClassification = BodypartClassification.LeftArm;
        }
        else if (kinectTransform == skeletonController.rightHip)
        {
            newBodypartClassification = BodypartClassification.RightLeg;
        }
        else if (kinectTransform == skeletonController.leftHip)
        {
            newBodypartClassification = BodypartClassification.LeftLeg;
        }

        return newBodypartClassification;
    }
 private float GetBlendWeight(BodypartClassification bodypartClassification)
 {
     switch (bodypartClassification)
     {
         case BodypartClassification.Root:
             return rootBlendWeight;
         case BodypartClassification.Torso:
             return torsoBlendWeight;
         case BodypartClassification.Head:
             return headBlendWeight;
         case BodypartClassification.RightArm:
             return rightArmBlendWeight;
         case BodypartClassification.LeftArm:
             return leftArmBlendWeight;
         case BodypartClassification.RightLeg:
             return rightLegBlendWeight;
         case BodypartClassification.LeftLeg:
             return leftLegBlendWeight;
         default:
             return 0;
     }
 }