コード例 #1
0
        internal void DoStateEnter(Animator animator, ref AnimatorStateInfo stateInfo, CompressedClipData data)
        {
            if (!data)
            {
                playingClip = null;
                return;
            }
            var clip      = data.getOrCreateClip();
            var anim      = GetOrCreateAnimation();
            var clipState = anim[clip.name];

            if (clipState == null)
            {
                anim.AddClip(clip, clip.name);
            }
            if (!anim.isPlaying)
            {
                anim.Play(clip.name);
            }
            else
            {
                anim.CrossFade(clip.name);
            }
            animator.updateMode = AnimatorUpdateMode.AnimatePhysics;
            playingClip         = clip;
            //anim.localBounds = new Bounds(new Vector3(9527 * 2, 9527 * 2, -9527 * 100), new Vector3());
        }
コード例 #2
0
        internal void DoStateExit(Animator animator, ref AnimatorStateInfo stateInfo, CompressedClipData data)
        {
            if (!data)
            {
                return;
            }
            var clip = data.getOrCreateClip();

            anim.Stop(clip.name);
            if (clip == playingClip)
            {
                playingClip = null;
            }
        }