Unity学习笔记(7) Unity2D骨骼动画制作流程

用骨骼动画最大的好处就是方便之后做换装系统。
无论对3Dor2D游戏都是这样的。
这篇博文记录一下2D骨骼动画的制作流程,参考b站麦扣的系列教程:
https://space.bilibili.com/370283072/channel/seriesdetail?sid=211996

素材制作

用PS做一个将人物各个部件(骨骼)都分解开来的人物模型。
20220123224044

导出时注意选择PSB模式,不然无法分层读取。
20220123225847

导入Unity

直接将PSB文件拖拽进去工作区,记得选择精灵模式为多图片模式:
20220123230103

骨骼绑定

进入Sprite Editor,用Skinning Editor模式:
在这里插入图片描述

绘制骨骼

Create Bone创建骨骼。
需要有一个骨骼能够联动影响其它骨骼时,先左键选中此骨骼,然后创建其他的。
在这里插入图片描述

网格化

可以直接使用Auto Geometry,调整自动网格化的参数,生成受到骨骼影响的网格:
在这里插入图片描述

20220124123410
在这里插入图片描述

可以进入Sprite Sheet,双击选中某个部位,设定其受哪些骨骼的影响。
20220124124234

完成

用修改骨骼影响和权重刷后,就完成了骨骼制作,现在可以把它放到场景中了。
但是不要直接将做好的body这个预制体放进场景,他是个只读的不允许别的修改,
应该先创建一个空物件将人物挂载到它的儿子中:
在这里插入图片描述

IK反向动力学

听起来很高端,其实就是使得调整某个点时,对各种骨骼更好的作用,使得更符合人体动力学模型,减少人的工作量。
比如下蹲时调整身体向下,腿部两骨骼能形成一种屈膝的效果。

首先选中需要能够被控制的骨骼们的末端,创建一个空儿子,并移动到需要进行调整的位置,
这里我的是倒数第二个骨骼用来控制:
在这里插入图片描述

接下来在骨骼集的同级创建一个空物体挂载IK Manager 2D做动力学管理:
20220124130950

+,添加一个肢体控制Limb,将刚刚创建的影响点移动到Effector中,并点Create Target创建控制目标。
下面就可以看到调整控制点,整个控制目标(两个腿部骨骼)都能自动调整:
在这里插入图片描述

可以点开Flip实现反向解算。

这一套做下来,本质就是通过末端点,向上寻找父、祖两代骨骼,并模拟人的肢体进行运动学解算,使得末端点保持在模型空间中的一个固定位置上:
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qeGONlfC-1643203681502)(https://raw.githubusercontent.com/camenkc/markDownPics/main/20220124131915.png)]

将其它部位也做好IK

添加动画

为Player挂载动画机,创建一个Idle动画。
20220124140227
点红圈开始录制,将所有的骨骼选中,右击Inspector面板中的Transform-Position,选择Add Key
Transform-Rotation也做如上操作。
不仅仅骨骼,对于IK的末端控制点也要记录他们的关键帧。
这样所有的骨骼都会在动画帧编辑器中有关键帧记录,下面调整各个关键帧的骨骼位置即可。
20220124140336

有时候不小心操作会看不到骨骼,只需要将如图的gizmos开过来即可
在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>