您的位置:首页 > 移动开发 > Unity3D

[置顶] Unity中Animation与Animator组件的使用

2016-03-01 22:13 525 查看
    在unity的老版本中我们只有Animation组件,在4.6版本以后则增添了Animator组件,如果只是控制一个动画的播放我们则用Animaton组件,如果是很多动画之间相互转换则使用Animator组件,它们两者的区别就是Animator有一个动画控制器,使用它来进行动画切换是非常方便的,但缺点是占用内存比Animaton组件大。

    我们这里先介绍Animaton组件:

       Animation.Play()播放;

Animation.CrossFade()动画淡入淡出

Animation.Sample()采样

Animation.Stop
()停止

这里我就不详细介绍了,我发一个链接里面很详细的介绍了Animaton组件
http://blog.csdn.net/bean244/article/details/20544367
好了,下面我介绍Animator组件

AnimatorStateInfo
stateInfo = m_ani.GetCurrentAnimatorStateInfo(0);//获取到当前Animator的状态信息,0表示Base Layer层

m_ani.IsInTransition(0);//是否处于转换状态

if(stateInfo.fullPathHash==Animator.StringToHash("Base
Layer.idle")&&!m_ani.IsInTransition(0))

        {

            m_ani.SetBool("idle",false);
a5f3

        }

        if(stateInfo.fullPathHash==Animator.StringToHash("Base Layer.run")&&!m_ani.IsInTransition(0))

        {

            m_ani.SetBool("run",false);

        }

        if(stateInfo.fullPathHash==Animator.StringToHash("Base Layer.attack")&&!m_ani.IsInTransition(0))

        {

            m_ani.SetBool("attack",false);

        }

        if (stateInfo.fullPathHash == Animator.StringToHash("Base Layer.death") && !m_ani.IsInTransition(0))

        {

               // Destroy(this.gameObject);

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: