protected virtual void UpdateSkeleton()
        {
            if (skeletonAction == null || skeletonAction.GetActive(inputSource) == false)
            {
                return;
            }

            if (updatePose)
            {
                UpdatePose();
            }

            if (rangeOfMotionBlendRoutine == null)
            {
                if (temporaryRangeOfMotion != null)
                {
                    skeletonAction.SetRangeOfMotion(inputSource, temporaryRangeOfMotion.Value);
                }
                else
                {
                    skeletonAction.SetRangeOfMotion(inputSource, rangeOfMotion); //this may be a frame behind
                }
                UpdateSkeletonTransforms();
            }
        }
示例#2
0
        protected virtual void UpdateSkeleton()
        {
            if (skeletonAction == null)
            {
                return;
            }

            if (updatePose)
            {
                UpdatePose();
            }

            if (blendPoser != null && skeletonBlend < 1)
            {
                if (blendSnapshot == null)
                {
                    blendSnapshot = blendPoser.GetBlendedPose(this);
                }
                blendSnapshot = blendPoser.GetBlendedPose(this);
            }

            if (rangeOfMotionBlendRoutine == null)
            {
                if (temporaryRangeOfMotion != null)
                {
                    skeletonAction.SetRangeOfMotion(temporaryRangeOfMotion.Value);
                }
                else
                {
                    skeletonAction.SetRangeOfMotion(rangeOfMotion); //this may be a frame behind
                }
                UpdateSkeletonTransforms();
            }
        }