AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Unity3D

Unity4.3 2D教程:动画控制器(3)

51自学网 2014-05-24 http://www.51zixue.net

让颜色动起来

在动画视图中切换到CatZombify,并添加一个曲线来编辑精灵重绘器的颜色。

添加新的曲线的时候,Unity会自动在0和60帧处添加关键帧。你可以像之前一样将它们去除,也可以使用动画视图控制栏里的帧域中,通过选择时间线上的关键帧并将红条拖动到某一帧来去除。然而,动画视图控制栏同时也有两个按钮可以用来移动之前和下一个关键帧,如下图示:

http://cms.9tech.cn/uploads/allimg/140403/1002533045-0.png

点击下一个关键帧按钮移动到60帧。展开cat:Sprite Renderer.Color曲线后,改变Color.r和Color.b的值,将它们都设为0.

color_curve

可以在场景或者游戏视图中,也可以在查看器预览中看到,你的猫是一个浅绿色的。现在需要改变颜色值来让猫看起来更像是被僵尸咬了,当然现在对于《僵尸冻结》来说已经足够了。

点击动画窗口中的播放按钮来预览片段,哇,这个猫咪太难看了。

cat_zombify_preview

现在需要将猫扭动状态转换为猫僵尸化状态。在层次中选择猫,并切换到动画器视图。

右击CatWiggle,选择运行转换,之后点击CatZombify。

启动场景会看到猫显示了,扭动了一下之后,变成绿色,之后停止移动。然而,变成全绿色后,它的颜色会重置为白色,并反复在白色和绿色间切换。

cat_zombify_in_scene

之前遇到过此情况。尽量自己解决吧,但是如果卡壳了,可以看下答案后面的解析。

现在在猫变绿色后,它会保持绿色。

从Catwiggle过渡到CatZombify后,猫开始扭动它时就会触发。在实际游戏中,我们希望猫在僵尸碰到它之前都是扭动的,之后才会让它变绿色。为此需要将Catwiggle循环处理,知道某个特殊条件触发转换为止。

动画参数

Unity允许在动画器控制器中添加任意数量的自定义变量,可以叫它们为参数。之后就可以在触发转换的时候引用这些参数。

在层次中选择猫,打开动画器视图。点击窗口左下边的+,那边会显示参数,之后从弹出菜单中选择布尔,如下图示所示:

parameter_menu

这个参数是一个设置猫是否被僵尸化的标记,因此起名字为InConga。

动画器视图中参数如下所示:

parameters_list

在动画器视图中,选择之前在Catwiggle和Catzombify直接创建的转换。

在查看器中,点击条件下面的组合框,会看到两个选项,退出时间和InConga,选择InConga。如下图所示:

condition_param_menu

要确保在InConga条件右边的组合框是设置为true的,如下图所示:

in_conga_condition

现在启动场景,发现猫显示并开始扭动,但是没有变绿色。在动画器视图中,可以看到猫一直在Catwiggle状态循环。

cat_before_inconga

随着场景运行,动画器和游戏视图都可见,点击动画器视图中左下角靠近InConga的那个空勾选框。你会发现动画状态转换为Catzombify了。游戏视图中的猫也会变成绿色,它也会渐渐停止扭动。

cat_with_inconga_looping

停止场景。在本教程系列下一部分,我们会在僵尸碰到猫的时候在脚本里设置InConga的值,但是现在你只需要完成猫剩下的动画即可。

注意:本教程中,使用一个布尔变量来触发状态切换,但是你还是可以添加浮点、整型等参数来触发。例如,你可以有一个叫速度的浮点参数,当设置动画器控制器从行走切换到跑步动画时候,只需要在速度超过某个值时就可以触发。

触发参数类似布尔类型,但是当设置一个触发器并初始化庄河后,一旦转换完成,触发器就会自动重置值。

原文链接:Unity 4.3 2D Tutorial: Animation Controllers


建议使用电驴(eMule)下载分享的资源。

说明
:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,51zixue.net不保证资料的完整性。
 
上一篇:Unity4.3 2D教程:动画控制器(4)  下一篇:Unity4.3 2D教程:动画控制器(2)