美文网首页Unity5.0+相关教程
Unity3D--Mecanim动画系统(三)-动画层Layer

Unity3D--Mecanim动画系统(三)-动画层Layer

作者: 元宇宙协会 | 来源:发表于2017-02-07 10:23 被阅读202次

    之前已经写过两套的动画系统,今天主要分享关于动画层的使用及注意事项

    这个就是层的概念

    1.为什么动画中会有层的概念

    其实在新版的动画状态机中,大量的技巧已经让一般的小白晕头转向了。而且就目前来说:使用状态机的单一层动画就已经可以满足日常开发需要。那么为什么出现层的概念呢?
    先来几张图,对比一下,你就会发现哪里好


    其实我们已经可以发现这种好处了,类似项目管理

    第一:分离动画组
    第二:规范动画制作
    第三:提供更丰富的动画制作
    Ps:其实跟我们的动画融合树差不多。。。

    2.如何使用层动画?

    01-添加动画层


    添加层

    注意:同一时刻我们只能执行一个层的动画片段。
    02-添加参数


    Paste_Image.png
    注意:参数是执行动画的触发条件
    03-给第二层的触发线绑定参数
    Paste_Image.png

    绑定的过程中,其实我们会发现New State就代指第一层动画组,而参数帮助我们过渡了层。当然动画是显示不出来的,但是动画片段确实执行了。

    3.注意点?

    在动画层之间切换的过程中,其实主要是通过参数的满足与否来进行层动画执行操作,但是有一个前提就是层的权重 如下图:

    权重问题决定动画能不能显示出来

    如果不设置权重,你会发现即便分好层,而且在状态机中发现动画执行了,但是界面的角色并没有显示出来。

    前面的分享已经提到过使用代码控制动画的参数,这里如何通过代码设置权重呢?

        [SerializeField]
        private Animator ani;
        void Start () {
            // 表示设置动画第二层的权重为1
            ani.SetLayerWeight(1, 1);
        }
    

    视频教程:
    http://www.youku.com/playlist_show/id_29528034.html

    相关文章

      网友评论

        本文标题:Unity3D--Mecanim动画系统(三)-动画层Layer

        本文链接:https://www.haomeiwen.com/subject/tirpittx.html