Unity3D 2D游戏开发 官方教程。(九)

来源:互联网 发布:果壳网 知乎 编辑:程序博客网 时间:2024/05/16 18:33

九主角动画控制器

从Prefabs中拖拽Player回到Hierarachy窗口。切换Project/Asserts/Animations/AnimatorController/Player鼠标双击。系统显示Animator编辑窗口。如图:

这里写图片描述

9.1创建参数

首先创建参数:切换窗口到Animator/Parameter窗口下。点击添加按钮,在操作菜单中选择Trigger类型。如图:

这里写图片描述
修改名称为PlayerChop如图:
这里写图片描述
采用同样方式创建PlayerHit。
备注:PlayerChop和PlayerHit为了个触发器变量。在主角动画播放过程中,切换到攻击和受伤状态的动画。Trigger类型为瞬间转换值类型。就是触发一瞬间其作用,然后恢复初始状态。可以简单理解为瞬发单次。
9.2建立转换
9.2.1PlayerIdle->PlayerChop
在Animator/Base Layer窗口选中PlayerIdle,鼠标右键选择Make Transition如图:
这里写图片描述
鼠标左键按住不放,系统会出现表示”转换”的箭头线,拖动箭头线终点,到PlayerChop对象上释放。完成”转换”的建立。如图:
这里写图片描述
按照相同的方法建立PlayerChop->PlayerIdle “转换”内容。选中PlayerIdle->PlayerChop转换双击。切换编辑页面。如图:
这里写图片描述
修改属性:
A取消Has Exit Time选中状态。表示PlayerChop触发的时候,不需要等待直接从PlayerIdle转换PlayerChop动画。
B修改Transition Duration值为0.表示当前使用的是序列帧动画。
C切换Conditions子窗口,添加触发器PlayerChop。

9.2.2 PlayerChop -> PlayerIdle
双击PlayerChop->PlayerIdle转换箭头线。(注意PlayerChop->PlayerIdle转换需要等待Chop动画播放完成。而不是瞬间转换,同时不需要触发器)
修改属性:
A保留Has Exit Time为转中状态
B修改Exit Time为1
C修改Transition Duration值为0.表示当前使用的是序列帧动画。
这里写图片描述
9.2.3Hit转换
按照相同的方法建立2的”转换”内容如下:
PlayerIdle->PlayerHit
PlayerHit -> PlayerIdle
结果如图:
这里写图片描述
至此已经完成了对Player动画的设置。点击运行查看效果。(在运行状态下。切换Aniamator/Parameter子窗口。点击PlayerChop参数行右侧的复选框。可以即时触发触发器。直观查看转换的效果。)

0 0
原创粉丝点击