Unity小功能Unity

认识Unity动画

2017-12-25  本文已影响43人  Joe_Game

前言:在Unity中的动画有两种:Animation和Animator,而在工作中Animator更常使用,Animation了解就好


一、Animation(老版动画)

1、3个类:Animation、AnimationState、AnimationClip

(1)播放动画:动画对象.Play(动画剪辑名);

(2)淡入淡出当前动画:动画对象.CrossFade(动画剪辑名);

(3)调整动画播放的速度:

<1>动画状态对象=动画对象[动画剪辑名];

<2>动画状态对象.speed=设定的数值(默认值是1);

(4)动画融合:将要播放的动画跟现在的动画进行混合播放,混合程度可以通过权重来进行调节,权重是用来调节动画的混合比例的(通过权重设置两个动画所占的比例,进行融合)

<1>设置一个滑动条用来控制权重的值

//用来给权重的变量名创建滑动条

[Rang(最小的范围值,最大的范围值)]

public float 权重的变量名:

<2>动画对象.Blend(动画剪辑名,权重变量名);

当前动画的默认权重值是1;

我们设置的权重变量是用调节将要播放的动画剪辑的;

当前动画的权重:将要播放的权重=动画混合比例

(5)播放剪辑:

2、代码贴图:

二、Animator(新版动画)

1.Mecanim(动画系统)以及State Machine(状态机)

选中一个模型>>Rig>>Animation Type:

None:无任何动画;

Legacy:旧版Animation动画;

Generic:一般动画(非人型动画)

Humanoid:人形动画

2.人型动画设置:

3.设置Avator:

4.设置动画剪辑:

5.Animator组件:

6.Animator控制器:

7.状态机:

8.设置动画状态:

9.设置过渡条件:

10.Animator类:

11.使用代码控制状态机:

12、如何给人物模型添加动画

人物模型

(1)给每个模型匹配骨骼

选中需要匹配骨骼的模型>>Rig>>Animation Type选为Humanoid,Avatar Definition选为Copy From Other Avatar,Source选为SwatAvatar,Apply

(2)将预设体拖到场景中,系统会自动生成一个Animator组件

(3)创建一个Animator Controller(动画控制器)来控制动画,在工程视图里创建一个动画控制器,将其拖到Animator组件上

(4)打开Animator窗口,找到资源中的动画剪辑,用过渡线连接

(5)选中过渡线,不勾选Has ExitTime,勾选的意思是当前动画播放完,再播放下一个动画

(6)选中我们要循环的动作模型,勾选右边面板中的Animation中的Loop Time

(7)可以通过Animator窗口中的Parameters(参数)作为过渡线是否过渡的条件,在Parameters中设置一个参数,选中过渡线,右边面板中的Conditions(条件),满足则过渡,不满足则不过渡到下一个动画剪辑

(8)如果有多条过渡线,只要有一条过渡线满足条件,就可以过渡到下一个动画剪辑,但那一个过渡线如果有多个条件的话,多个条件必须都满足这条过渡线才能过渡到下一个动画剪辑。(本来这里写了很多的,结果出问题了,就都没有了,重新写的,少多了,心塞=-=)

代码贴图:

上一篇下一篇

猜你喜欢

热点阅读