Unity基础——动画编辑Animations、Animator
2014-07-20 14:03
1031 查看
Unity基础——动画编辑Animations、Animator
2014-01-10 20:08:32| 分类: Unity3D自学笔记 | 标签:unity 指南 动画 animation animator |举报|字号 订阅精灵(Sprite)实现动画的原理是设定好精灵的几何形状,然后用纹理图形进行填充,间隔一定时间则用下一张纹理图片填充。当初完全自己手写游戏的每一行代码时,这些功能都是自己实现的,相当于搭建游戏引擎的雏形。但是我们现在有Unity了,这时我们就要问自己,我们是致力于开发出一套完成的游戏引擎,还是致力于开发一个能让大众所欢迎的游戏!我的答案是后者!作为个人游戏开发者,其道路是坚信的。Unity的出现使我们从游戏引擎底层的编码工作解脱出来,可以专注于开发游戏了!这也是Unity所致力于实现的目标,那么!亲,你在使用Unity开发游戏时,还习惯性的使用过去DIY的笨拙精灵动画处理方法吗?Unity自己拥有完善的动画编辑功能哦!这一篇文章,我就来介绍下Unity最基础的动画机制!
首先来认识一下用来编辑Animation和Animator Controller的界面,下图(左)是Animation编辑界面,可以从Window->Animation菜单打开,在这里可以编辑你的动画。(右)图是Animator编辑界面,这里可以将编辑动画的控制,管理不同动画之间的关联,例如:人物在玩家没有动作时是行走动画,一旦玩家有进攻动作,则显示进攻动画,停止进攻时回到行走动作,下面举一个简单的例子讲解如何进行这一系列的操作。
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/6f9905a58ccd4103b6ac6a4b1c2ec33c/55721108843.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/5ef0edc8826f4be5959ac75cae033b49/39175496146.jpeg)
1、准备工作,准备小飞机的素材
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/d1e526da63b54c938d15ef7719a61b1f/88663154945.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/c092feff6de2449a940e7ef8195f908f/43611677404.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/77c067e3c9e94af894c39a5d194d98be/63459342567.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/c092feff6de2449a940e7ef8195f908f/43611677404.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/d1e526da63b54c938d15ef7719a61b1f/88663154945.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/af9cbc7d59f940d2b5dcb2ec0454a2b2/91608252791.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/4c157b60bd0441ba9241e0fb1f76a801/08212908778.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/d1e526da63b54c938d15ef7719a61b1f/88663154945.jpeg)
up素材
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/d1e526da63b54c938d15ef7719a61b1f/88663154945.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/c092feff6de2449a940e7ef8195f908f/43611677404.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/77c067e3c9e94af894c39a5d194d98be/63459342567.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/1a57c3e9ad6c46ad8cc68673ef66a168/50826219144.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/7a746a92a8ca46dbb11dd144be9a0c42/76309289154.jpeg)
up_t_left素材
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/d1e526da63b54c938d15ef7719a61b1f/88663154945.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/af9cbc7d59f940d2b5dcb2ec0454a2b2/91608252791.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/4c157b60bd0441ba9241e0fb1f76a801/08212908778.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/2833082ec3e849e488eec09df8616055/76170901710.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/ab085b2d9ed24a88862eb06fad80c89a/99604313671.jpeg)
up_t_right素材
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/77c067e3c9e94af894c39a5d194d98be/63459342567.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/1a57c3e9ad6c46ad8cc68673ef66a168/50826219144.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/7a746a92a8ca46dbb11dd144be9a0c42/76309289154.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/1a57c3e9ad6c46ad8cc68673ef66a168/50826219144.jpeg)
left素材
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/4c157b60bd0441ba9241e0fb1f76a801/08212908778.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/2833082ec3e849e488eec09df8616055/76170901710.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/ab085b2d9ed24a88862eb06fad80c89a/99604313671.jpeg)
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/2833082ec3e849e488eec09df8616055/76170901710.jpeg)
right素材
2、首先GameObject—>Create Empty创建一个空的游戏对象,并重命名为Role,保持该游戏对象为选中状态
3、Window—>Animation打开动画编辑界面,单击下图红圈区域在弹出的菜单中新建动画Create New Clip ,命名为up(同时会生成名为Role的Animator Controller文件),然后将up素材拖住到时间轨上,选择播放预览效果。
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/c397b1cd25204d949941b8a15a3a382f/98486628513.jpeg)
新建动画
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/b1e66ca1b1364033b2a10126c4e8742b/56774403928.jpeg)
播放动画
4、同理添加up_t_left、up_t_right动画、left动画、right动画,其中up_t_left、up_to_right顾名思义是当飞机状态由前进向向左(右)状态转变过程的动画而后保持left动画或right动画循环。
5、为left动画和right动画添加循环,即确保在Inspector面板中确保Loop Time复选框处于选中状态
6、现在已经拥有所需要的动画,下面来实现各动画之间的转换。双击Project View中的Role(Animator),打开Animator编辑器,将编辑器中存在的动画排列成下面的样子,以方便关联。
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/3afc38ab99394f0fb3ec16f4f30ce0e3/15369035959.jpeg)
7、选择Animator编辑器下面的Parameters后面的“+”,可以为Animator添加参数,这些参数会用来控制动画的状态,现在来添加两个Bool型参数left和right,参数后面的复选框若被选中则表示该参数默认值为true,未选中为false
8、为动画添加关联,右键单击up,在弹出的菜单中选择Make Transition,然后将鼠标移动到up_t_left并单击,此时建立up与up_t_left之间的关联Inspector关联列表中也显示出此关联,如图所示。
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/60d03d4a0bc24b76accd96fd81de9563/39911800468.jpeg)
9、选中Inspector中的up->up_t_left关联,会显示关联编辑,默认情况下当up动画播放完会自动转移状态,从up状态转移动up_t_left状态,现在修改转移条件,选择Conditions列表中的Exit Time为left,即当left为true是才转移该状态。
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/040179bc8fe84cbcb887e194e6110e71/85880407388.jpeg)
10、添加up_t_left到left的关联,保持默认状态,即播放完动画转移状态到left。然后再添加left到up的关联,转移条件是left为false。同样的添加up到up_t_right、up_t_right到right、right到up的关联,现在Animator内关联视图如下。
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/167b8a5f175048eeac917d5c55fae34c/10819494576.jpeg)
11、最后只需要完成参数left与right的赋值即可完成整个动画的编辑了,Create->javascripte新建javascript脚本,命名为RoleController,脚本代码如下:
#pragma strict var controller:Animator; function Start () {} function Update () { if (Input.GetKey(KeyCode.LeftArrow)){ controller.SetBool("left",true); }else{ controller.SetBool("left",false); } if (Input.GetKey(KeyCode.RightArrow)){ controller.SetBool("right",true); }else{ controller.SetBool("right",false); } }
12、将RoleController脚本拖拽到Hierarchy的Role对象中,选中Role,将Role拖拽到Inspector中所显示Role中脚本RoleController的全局变量Controller,大功告成!测试一下吧!
![](http://blog.csdn.net/highning0007/article/details/file:/C:/Users/Think/AppData/Local/YNote/Data/441431024@qq.com/5c14f3e02cdf4dc19ae7a14ee4891130/45888926576.jpeg)
本文介绍了Unity的动画编辑最基本的功能,实际上Unity动画编辑比我介绍的要更加强大,朋友们可以自行探索,欢迎交流!!
相关文章推荐
- Unity-动画系统-Animator基础
- Unity3D类人动画humanoid animations
- unity动画编辑
- [Unity基础]解析excel以及动画切割
- 【Unity】通过AnimatorController更改其中某个动画片断的速度
- [Unity基础]unity5中的动画系统(一)
- unity基础开发 ----Unity3D 4.0新功能:Mecanim动画系统基础教程
- Unity Animator动画倒播方法
- Unity动画 Animator的属性
- 使用Unity新版动画系统Animator实现三连击
- 属性动画基础之ValueAnimator
- unity基础开发 ----Unity3D 4.0新功能:Mecanim动画系统基础教程
- Unity之Animation编辑器编辑动画
- Unity基础开发----用unity自带Animation组件制作动画
- unity5, 在unity中编辑动画
- unity基础开发----控制播放动画片段、动画倒播
- unity基础开发----unity中的UV动画实现代码
- unity的Mecanim动画系统基础教程
- unity 新的动画系统 Animator的使用(原)
- 属性动画基础之ValueAnimator