签到领奖

[图文教程] unity动画Mecanim简单图文教程

[复制链接]
查看: 771|回复: 0
排名
232
昨日变化
3
发表于 2017-1-4 14:00:43 | 显示全部楼层 |阅读模式
本帖最后由 guangling 于 2017-1-4 14:00 编辑

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

unity动画Mecanim简单图文教程

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

Soldier模型导入部分: 其它部分用默认配置,只需打开avatar开关,生成avatar。打开开关后,应用apply才能生效。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程
之后多出一个配置按钮,点击进入配置界面,

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

>>>>>>>由于Soldier模型与新动画组件配合良好,所以各个骨骼默认就找好了。这里就跳过不用手工分配了。
下一步为了试验刚才的骨骼分配是否正常,切换到肌肉系统。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

调节选项,测试角色活动是否正常。如果一切正常,点击右下角Done确定。这样,就生成了此模型的Avatar系统。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

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

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程
注意 Model面板的 avatar选项不必钩选。(因为我们只是要用这个文件里的动画部分)。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

进入 animation面板,注意肌肉系统是《来自其它Avatar》,下面的源要指定为刚才我们生成的soldierAvatar。(
Avatar系统就相当于肉体,这里的动画首先要确定应用到哪个肉体上。),动画是可以应用到所有的肉体上的。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

现在动画还没有生成,需要点击 + 号。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

进入详细设定并可以预览动画。这里要钩选 loop, 因为 idle动画需要循环。还要将 tak001名称改为sd_idle方便以后查找。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

这样就设置完成了一个动画,余下的3个跑步动画都要这样设置。这一步比较麻烦,其实跳过这一步也能生成动画,只不过那样的动画是禁止调整的,不能设置 loop属性。

将 Soldier 拖入场景中,会发现组件面板上没有 animation动画组件(不需要了),变成了 Animator,注意现在动画控制器还没有指定。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程
下面来制作控制器:
回到工程浏览器,在soldier同一目录下右击,创建一个animation controller类型,并命名为 SoldierCtrl 。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

双击这个文件,即可进入动画状态机编辑器。此时编辑器还只有一个根节点。
在工程浏览器中使用类型过滤器,选出所有 animation 类型,可以在里面找到我们刚才命名的 sd_idle动画,将之拖入状态机面板中。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

黄色,说明这个状态是默认状态,也就是进入游戏后的默认动画状态。
现在,控制器制作好了,只有一个状态。

现在回到场景图,在soldier物体的面板上,指定好刚才的控制器。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程
运行游戏,士兵会进入 idle动画。

下面来设置复杂一点的状态:
双击进入状态机界面,右键,创建一个 blenderTree, 在这个节点上双击,进入混合树编辑。
点击 +号生成3个motion,分别将3个跑步动画拖入其中。参考手柄控制器的横轴输入时为(-1到1)的,设置左跑为-1,右跑为+1,为0时向前跑。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程
在预览窗播放动画,同时调节混合器滑动条,观察动画。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

注意这时还没有指定使用的变量,在状态机面板左下侧加入2个float变量

unity动画Mecanim简单图文教程

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

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

在顶部点击BaseLayer回到上层状态,按下图连接。

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

2个转换条件是: speed 大于 0.6 进入跑步混合树, speed小于0.3进入空闲态。

在士兵身上加入一个新建脚本,TestAnim.cs

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程
代码如下

unity动画Mecanim简单图文教程

unity动画Mecanim简单图文教程

运行游戏,方向键向上是跑,左右是切换跑步方向。


最近访问 头像模式 列表模式
+1
771°C
沙发哦 ^ ^ 马上
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

在线客服(工作时间:9:00-22:00)
010-82609395
泰斗社区公众号

Copyright   ©2015-2016  【泰斗社区】-专注互联网游戏和应用的开发者平台  Powered by©Discuz!  技术支持:迪恩网络     ( 沪ICP备14023207号-9 )