Unity 有2种动画设置,一种是通过设置多个图片而生成的动画,一种是通过给角色添加骨骼,再修改骨骼位置来录制动画
-
通过图片生成动画
和之前讲恐龙的动画一样,只要添加对应图片就能保证基本的动画
但是这图本来就很生硬,可以通过将图片上下移动来使动画更流畅
首先点击左侧录制键,然后选中特定帧后拖动动画位置或者大小,就能实现动画的移动
效果如下
!!!重点!!!
通过这种方式生成动画后,这个游戏对象的坐标轴是固定的,所以不管拖动到哪个位置,都会瞬间回到写死的坐标位置中。
所以为了能将这种动画对象运用起来,需要额外创建个父对象,以父对象为坐标原点,再以动画中的坐标变化而变化
-
图形骨骼
对于单个元素的图片来说, 可以创建骨骼来设置动画效果
通过unity资产商店中导入的小松鼠,我们可以试着来创建骨骼和设计动画
Sunny Land | 2D Characters | Unity Asset Store
选中松鼠,记得纹理类型选中这个,再点击右下角编辑
左上角选择【skinning editor】
‘
就会展示出骨骼编辑栏
首先需要创建骨骼
!!!注意!!!
第一次创建骨骼时,需要双击图像出现了网格后才能进行编辑骨骼。后面出现骨骼消失的问题都是因为双击了空白的地方导致,需要重新双击图像才行。
点击【骨骼】中的【create bone】 ,第一个骨骼最好是躯干,因为其他骨骼需要依赖这个躯干骨来进行定位,注意右边的各个骨骼的层级
再给网格添加权重,选择【auto weight】后,点击右下角的【生成】,就会根据骨骼来添加权重。
ps:右上角可以修改权重的颜色透明度
添加完后可以通过左侧最上面的【preview bone】来进行测试
很明显这个网格不够细致,需要继续修改
方法1:修改【auto weight】右下角的参数,然后重新生成,这种方法最方便,因为是自动的
方法2: 通过下面2个create vertex/edge 来出现编辑网格,可以更加细致地进行调整
然后是调整网格的权重
选择【权重】中的【weight brush】,右下角的参数自己研究一下
需要注意的是,在进行刷格子的时候,要先选中对应的骨骼,而网格中权重越高的骨骼,对改点的影响越大,例如将身体周围的格子设置成躯干(红色)权重为1的话,那么不管其他骨骼怎么动,都不会影响到这些地方
此外,在验证各个骨骼移动时,发现部分节点也跟着动了,需要在【weight slider】中直接去除节点或者线中对应骨骼的权重
最后效果如下
记得点击右上方的【应用】来保存
现在才开始创作动画
在游戏对象右侧添加【sprite skin】模块
然后点击【create bones】后,将会把刚刚添加的骨骼导入进去。
导入完后打开动画窗口【ctrl + 6】,按下【录制】就能根据骨骼移动录制动画了。
最终效果如下
当然,这种创建骨骼的方式最好是用在多个元素组合,或者图形比较细长的对象上