unity3d中使用精灵sprite创建并控制2d动画

时间:2021-07-14 12:09:57

这里明确几个概念

Animation是每一个动画,动画本身不能独立在场景中播放

Animator是动画控制器,一个动画控制器里可以包含多个动画,根据条件选择播放哪一个动画

精灵Sprite上挂载Animator动画控制器来播放动画

crtl+6打开animation编辑面板,默认是不能进行任何操作的,要选中做动画的精灵才可以创建动画。在animation面板下拉框中可以切换一个精灵不同的Animation动画



首先创建2d动画有很多方法,这里使用最原始的方法


首先导入2个动画需要用到的4张图。


unity3d中使用精灵sprite创建并控制2d动画

将npc0_16拖入场景场景


unity3d中使用精灵sprite创建并控制2d动画

创建一个动画控制器和2个动画,并把动画放入动画控制器里,此时动画的内容还都是空的,不要紧,我们最后做动画



unity3d中使用精灵sprite创建并控制2d动画

给精灵上挂载动画控制器Animator


unity3d中使用精灵sprite创建并控制2d动画

给精灵选择赋值对应的动画控制器


unity3d中使用精灵sprite创建并控制2d动画

选择精灵,按ctrl+6打开动画编辑面板,开始做动画,动画的制作和ps,flash等线编工具相同,*发挥,这里我更改了图片的样子,实现螺旋桨转动和射击2个动画。

这里建议把每个图的中心位置放到一个点,例如在底部中间

注意面板上面可以创建与切换该精灵的所有动画。


unity3d中使用精灵sprite创建并控制2d动画

动画如果需要用代码控制,需要

1、设置流程线

2、增加变量

3、设置动画跳转变量的条件



    public Animator anim;

// Update is called once per frame
void Update () {


if (Input.GetKeyDown (KeyCode.RightArrow)) {
anim.SetInteger ("aaa", 1);
}
else if (Input.GetKeyDown(KeyCode.LeftArrow))
{
anim.SetInteger("aaa", 0);
}

}


用代码设置变量的变化实现动画的变更