您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity入门 >
    UNITY动画Mecanim简单图文教程
    时间:2015-06-18 09:33 来源:互联网 作者:网络 浏览:收藏 挑错 推荐 打印

    首先,创建一个全新工程。
     
    为了示例,使用官方的soldier模型(来自3.1demo)和worker(第3人称控制器自带)模型。
    * soldier模型只使用其中4个动画即可,空闲,跑,左跑,右跑。
     
    UNITY动画Mecanim简单图文教程

    注:使用2个模型是为了研究动画系统的重定向功能,即,将士兵的动画应用到工人的模型上。

    Soldier模型导入部分: 其它部分用默认配置,只需打开avatar开关,生成avatar。打开开关后,应用apply才能生效。
    UNITY动画Mecanim简单图文教程
     
    之后多出一个配置按钮,点击进入配置界面, 

    UNITY动画Mecanim简单图文教程 
    UNITY动画Mecanim简单图文教程
     
     
     
    >>>>>>>由于Soldier模型与新动画组件配合良好,所以各个骨骼默认就找好了。这里就跳过不用手工分配了。
    下一步为了试验刚才的骨骼分配是否正常,切换到肌肉系统。
    UNITY动画Mecanim简单图文教程
     
     
    调节选项,测试角色活动是否正常。如果一切正常,点击右下角Done确定。这样,就生成了此模型的Avatar系统。
    UNITY动画Mecanim简单图文教程

    下一步配置动画系统:
     
    找到soldier模型的动画文件,选中一个(比如idle),打开编辑面板。
    UNITY动画Mecanim简单图文教程

     
    注意 Model面板的 avatar选项不必钩选。(因为我们只是要用这个文件里的动画部分)。
    UNITY动画Mecanim简单图文教程
     
     
    进入 animation面板,注意肌肉系统是《来自其它Avatar》,下面的源要指定为刚才我们生成的soldierAvatar。(
    Avatar系统就相当于肉体,这里的动画首先要确定应用到哪个肉体上。),动画是可以应用到所有的肉体上的。
    UNITY动画Mecanim简单图文教程

     
    现在动画还没有生成,需要点击 + 号。
    UNITY动画Mecanim简单图文教程

     
    进入详细设定并可以预览动画。这里要钩选 loop, 因为 idle动画需要循环。还要将 tak001名称改为sd_idle方便以后查找。
    UNITY动画Mecanim简单图文教程
    UNITY动画Mecanim简单图文教程
     
    这样就设置完成了一个动画,余下的3个跑步动画都要这样设置。这一步比较麻烦,其实跳过这一步也能生成动画,只不过那样的动画是禁止调整的,不能设置 loop属性。 

    将 Soldier 拖入场景中,会发现组件面板上没有 animation动画组件(不需要了),变成了 Animator,注意现在动画控制器还没有指定。
    UNITY动画Mecanim简单图文教程
     
     
    下面来制作控制器。
     
    回到工程浏览器,在soldier同一目录下右击,创建一个animation controller类型,并命名为 SoldierCtrl 。
    UNITY动画Mecanim简单图文教程
     
    双击这个文件,即可进入动画状态机编辑器。此时编辑器还只有一个根节点。
     
    在工程浏览器中使用类型过滤器,选出所有 animation 类型,可以在里面找到我们刚才命名的 sd_idle动画,将之拖入状态机面板中。
    UNITY动画Mecanim简单图文教程
     
    黄色,说明这个状态是默认状态,也就是进入游戏后的默认动画状态。
     
    现在,控制器制作好了,只有一个状态。



    现在回到场景图,在soldier物体的面板上,指定好刚才的控制器。 
    UNITY动画Mecanim简单图文教程
     运行游戏,士兵会进入 idle动画。

    下面来设置复杂一点的状态。
    双击进入状态机界面,右键,创建一个 blenderTree, 在这个节点上双击,进入混合树编辑。
     
    点击 +号生成3个motion,分别将3个跑步动画拖入其中。参考手柄控制器的横轴输入时为(-1到1)的,设置左跑为-1,右跑为+1,为0时向前跑。
    UNITY动画Mecanim简单图文教程
     
    在预览窗播放动画,同时调节混合器滑动条,观察动画。
    UNITY动画Mecanim简单图文教程
     
    注意这时还没有指定使用的变量,在状态机面板左下侧加入2个float变量


    UNITY动画Mecanim简单图文教程
     
    将 BlendTree的event指定为dir变量,混合树就设置好了。

    UNITY动画Mecanim简单图文教程
     
    在顶部点击BaseLayer回到上层状态,按下图连接。
    UNITY动画Mecanim简单图文教程
     
    2个转换条件是: speed 大于 0.6 进入跑步混合树, speed小于0.3进入空闲态。



    在士兵身上加入一个新建脚本,TestAnim.cs
    UNITY动画Mecanim简单图文教程
    代码如下
    UNITY动画Mecanim简单图文教程
    运行游戏,方向键向上是跑,左右是切换跑步方向。 


    (责任编辑:雷霆风)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。