我的游戏开发笔记(四):Animator的初步运用(一)

来源:互联网 发布:协同办公自动化软件 编辑:程序博客网 时间:2024/05/12 11:25

作为一款自己设计制作的游戏,肯定要用自己设计的角色才到位,可以本人并没有学过建模,也就意味着就算我制作了一个属于我自己的模型,我也很难制作出一套自己模型的Animation来供我使用。

不得不说,Unity3d给了我们一个很方便的东西——Animator。

通过它我们可以很简单的制作出一套属于我们自己模型。

1、先导入一个模型,没有任何Animation的也可以的,这里我就导入了一个用烂的模型...


2、在Inspector面板中选择rig栏,下面有两个选项:AnimationType和Generation。

把AnimationType的类型选为Humanoid,然后点击Apply。


3、之后的rig栏变成这样


而wukong这个Prefab展开后就会发现多了一个Avatar


4、单击configure,就跳入以下画面


就是一个骨骼系统,基本上系统已经帮我们建好了,如果有需要就改,没需要直接点右下角Done。

5、把wukong拖到场景中,会发现接着你的Inspector多了一个Animator,只不过他的Controller为空。

Controller,可以理解为一个控制角色什么时候干什么、满足什么条件该做什么的强大的控制器。也就是说现在wukong虽然有骨骼了,但是并没有控制它的东西,必须要给它建立一个控制器来控制它。


6、那么怎么建立这个控制器呢?首先右键project空白处,create——Animator Controller。


7、命名为wukongController,双击打开它。


这里就是界面了,一开始肯定看不懂该怎么做。别慌。慢慢来。

首先,State顾名思义就是状态,我们先右键create——empty一个New State。


然后我们就可以看到,一个新的State,从Inspector面板可以看到,我们可以设置State的名字,Tag,Speed、动作Motion(Animation)、反向运动FootIK以及镜子Mirror。

这里命名为Idle,然后把Idle的Animation拖到motion中,这里我们使用Unity3d 5.0 自带的Idle动画,至于其他的默认不变就好了。

然后再新建一个State,命名为Run,把Run的Animation拖过去。


如果没有5.0,就去Store下几个,很多很多。

接下来看到Animator面板的左下角,有这么一个玩意——Parameters,它就是使用Animator来切换动作的灵魂。可以把它理解为实现动作的条件,通过改变它来判断满足什么条件执行什么动作。点击右边的+号,可以看到有4个类型:Float,Int,Bool,Trigger。


这里我们先设置一个float类型的Forward参数,来表示前进的距离;还有一个bool类型的OnGround参数,来判断是否站在地上。


现在我们的界面大概是这样的。


Idle的框框是黄色的是因为我把它设置为默认状态,如果想把Run设置为默认状态,就右键Run——Set As Defualt,这里我就不贴图了。

那么现在条件和状态都设置好了,怎么实现它们之间的切换呢?右键Idle——Make Transition


出现一个箭头,把它连接向Run。


这个箭头就代表,从Idle状态当满足一定条件时能变成Run状态,现在我们来设置这些条件。点击这个箭头,会发现Inspector面板变成了这样


其他的先不管,直接定位到Conditions这一栏,就是条件了。默认有一个ExitTime=0.90,意思就是从Idle状态转变成Run状态必须要满足Idle动画播放0.9s后这个条件才可以播放Run动作。从Idle变成Run我们肯定希望直接启动,点“—”删除,点“+”再增加两个条件,如下图所示。


条件就是,当Forword大于0而且OnGround为真时,就执行这个状态转换。

那么我们该如何改变这些参数呢?当然是通过代码实现了。这篇太长了,我们下一篇说。

0 0
原创粉丝点击