/// <summary>
        /// Starts decoding the specified animation clip.
        /// </summary>
        public void StartClip(AnimationClip clip, bool loop, float blendTime)
        {
            if(IsPauzed)
            {
                IsPauzed = false;
                return;
            }

            if(clip==null)
                throw new ArgumentNullException("clip");

            if (_currentAnimationClip.Clip == clip || _targetAnimationClip.Clip == clip) return;

            if (blendTime>0 && _currentAnimationClip.Clip != null)
            {
                _currentBlendTime = TimeSpan.Zero;
                _totalBlendTime = TimeSpan.FromSeconds(blendTime);
                _targetAnimationClip.SetAnimationClip(clip, loop);
                skinningDataValue.BindPose.CopyTo(_targetAnimationClip.BoneTransforms, 0);
            }
            else
            {
                _targetAnimationClip.Reset(true);
                _currentAnimationClip.SetAnimationClip(clip, loop);
                skinningDataValue.BindPose.CopyTo(_currentAnimationClip.BoneTransforms, 0);
            }
        }
 public void StartClip(AnimationClip clip, bool loop)
 {
     StartClip(clip, loop, 0f);
 }
 public void SetAnimationClip(AnimationClip clip, bool isLooped)
 {
     Clip = clip;
     IsLooped = isLooped;
     Reset(false);
 }
 public void StartClip(AnimationClip clip)
 {
     StartClip(clip,true,0f);
 }
 public void SetAnimationClip(AnimationClip clip)
 {
     SetAnimationClip(clip,true);
 }