Example #1
0
		public static Side ToLimbIKSide( LimbIKLocation limbIKLocation )
		{
			switch( limbIKLocation ) {
			case LimbIKLocation.LeftLeg:	return Side.Left;
			case LimbIKLocation.RightLeg:	return Side.Right;
			case LimbIKLocation.LeftArm:	return Side.Left;
			case LimbIKLocation.RightArm:	return Side.Right;
			}

			return Side.None;
		}
Example #2
0
		public static LimbIKType ToLimbIKType( LimbIKLocation limbIKLocation )
		{
			switch( limbIKLocation ) {
			case LimbIKLocation.LeftLeg:	return LimbIKType.Leg;
			case LimbIKLocation.RightLeg:	return LimbIKType.Leg;
			case LimbIKLocation.LeftArm:	return LimbIKType.Arm;
			case LimbIKLocation.RightArm:	return LimbIKType.Arm;
			}

			return LimbIKType.Unknown;
		}
Example #3
0
        public static LimbIKType ToLimbIKType(LimbIKLocation limbIKLocation)
        {
            switch (limbIKLocation)
            {
            case LimbIKLocation.LeftLeg:    return(LimbIKType.Leg);

            case LimbIKLocation.RightLeg:   return(LimbIKType.Leg);

            case LimbIKLocation.LeftArm:    return(LimbIKType.Arm);

            case LimbIKLocation.RightArm:   return(LimbIKType.Arm);
            }

            return(LimbIKType.Unknown);
        }
Example #4
0
        public static Side ToLimbIKSide(LimbIKLocation limbIKLocation)
        {
            switch (limbIKLocation)
            {
            case LimbIKLocation.LeftLeg:    return(Side.Left);

            case LimbIKLocation.RightLeg:   return(Side.Right);

            case LimbIKLocation.LeftArm:    return(Side.Left);

            case LimbIKLocation.RightArm:   return(Side.Right);
            }

            return(Side.None);
        }
Example #5
0
			public LimbIK( FullBodyIK fullBodyIK, LimbIKLocation limbIKLocation )
			{
				Assert( fullBodyIK != null );
				if( fullBodyIK == null ) {
					return;
				}

				_settings = fullBodyIK.settings;
				_internalValues = fullBodyIK.internalValues;

				_limbIKLocation = limbIKLocation;
				_limbIKType = FullBodyIK.ToLimbIKType( limbIKLocation );
				_limbIKSide = FullBodyIK.ToLimbIKSide( limbIKLocation );

				if( _limbIKType == LimbIKType.Leg ) {
					var legBones = (_limbIKSide == Side.Left) ? fullBodyIK.leftLegBones : fullBodyIK.rightLegBones;
					var legEffectors = (_limbIKSide == Side.Left) ? fullBodyIK.leftLegEffectors : fullBodyIK.rightLegEffectors;
					_beginBone = legBones.leg;
					_bendingBone = legBones.knee;
					_endBone = legBones.foot;
					_bendingEffector = legEffectors.knee;
					_endEffector = legEffectors.foot;
				} else if( _limbIKType == LimbIKType.Arm ) {
					var armBones = (_limbIKSide == Side.Left) ? fullBodyIK.leftArmBones : fullBodyIK.rightArmBones;
					var armEffectors = (_limbIKSide == Side.Left) ? fullBodyIK.leftArmEffectors : fullBodyIK.rightArmEffectors;
					_beginBone = armBones.arm;
					_bendingBone = armBones.elbow;
					_endBone = armBones.wrist;
					_bendingEffector = armEffectors.elbow;
					_endEffector = armEffectors.wrist;
					_PrepareRollBones( ref _armRollBones, armBones.armRoll );
					_PrepareRollBones( ref _elbowRollBones, armBones.elbowRoll );
				}

				_Prepare( fullBodyIK );
			}