Unity基础——动画编辑Animations、Animator

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编辑界面,这里可以将编辑动画的控制,管理不同动画之间的关联,例如:人物在玩家没有动作时是行走动画,一旦玩家有进攻动作,则显示进攻动画,停止进攻时回到行走动作,下面举一个简单的例子讲解如何进行这一系列的操作。
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
1、准备工作,准备小飞机的素材
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
up素材
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
up_t_left素材
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
up_t_right素材
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
left素材
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
right素材
 
2、首先GameObject—>Create Empty创建一个空的游戏对象,并重命名为Role,保持该游戏对象为选中状态
3、Window—>Animation打开动画编辑界面,单击下图红圈区域在弹出的菜单中新建动画Create New Clip ,命名为up(同时会生成名为Role的Animator Controller文件),然后将up素材拖住到时间轨上,选择播放预览效果。
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 
新建动画
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客 
播放动画
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编辑器,将编辑器中存在的动画排列成下面的样子,以方便关联。
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
 
7、选择Animator编辑器下面的Parameters后面的“+”,可以为Animator添加参数,这些参数会用来控制动画的状态,现在来添加两个Bool型参数left和right,参数后面的复选框若被选中则表示该参数默认值为true,未选中为false
8、为动画添加关联,右键单击up,在弹出的菜单中选择Make Transition,然后将鼠标移动到up_t_left并单击,此时建立up与up_t_left之间的关联Inspector关联列表中也显示出此关联,如图所示。
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
9、选中Inspector中的up->up_t_left关联,会显示关联编辑,默认情况下当up动画播放完会自动转移状态,从up状态转移动up_t_left状态,现在修改转移条件,选择Conditions列表中的Exit Time为left,即当left为true是才转移该状态。
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
10、添加up_t_left到left的关联,保持默认状态,即播放完动画转移状态到left。然后再添加left到up的关联,转移条件是left为false。同样的添加up到up_t_right、up_t_right到right、right到up的关联,现在Animator内关联视图如下。
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
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,大功告成!测试一下吧!
Unity基础——动画编辑Animations、Animator - 木子峰 - songyun870的博客
本文介绍了Unity的动画编辑最基本的功能,实际上Unity动画编辑比我介绍的要更加强大,朋友们可以自行探索,欢迎交流!!

 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值