用骨骼动画最大的好处就是方便之后做换装系统。
无论对3Dor2D游戏都是这样的。
这篇博文记录一下2D骨骼动画的制作流程,参考b站麦扣的系列教程:
https://space.bilibili.com/370283072/channel/seriesdetail?sid=211996
直接将PSB文件拖拽进去工作区,记得选择精灵模式为多图片模式:
进入Sprite Editor
,用Skinning Editor
模式:
用Create Bone
创建骨骼。
需要有一个骨骼能够联动影响其它骨骼时,先左键选中此骨骼,然后创建其他的。
可以直接使用Auto Geometry
,调整自动网格化的参数,生成受到骨骼影响的网格:
可以进入Sprite Sheet
,双击选中某个部位,设定其受哪些骨骼的影响。
用修改骨骼影响和权重刷后,就完成了骨骼制作,现在可以把它放到场景中了。
但是不要直接将做好的body
这个预制体放进场景,他是个只读的不允许别的修改,
应该先创建一个空物件将人物挂载到它的儿子中:
听起来很高端,其实就是使得调整某个点时,对各种骨骼更好的作用,使得更符合人体动力学模型,减少人的工作量。
比如下蹲时调整身体向下,腿部两骨骼能形成一种屈膝的效果。
首先选中需要能够被控制的骨骼们的末端,创建一个空儿子,并移动到需要进行调整的位置,
这里我的是倒数第二个骨骼用来控制:
接下来在骨骼集的同级创建一个空物体挂载IK Manager 2D
做动力学管理:
点+
,添加一个肢体控制Limb
,将刚刚创建的影响点移动到Effector
中,并点Create Target
创建控制目标。
下面就可以看到调整控制点,整个控制目标(两个腿部骨骼)都能自动调整:
可以点开Flip
实现反向解算。
这一套做下来,本质就是通过末端点,向上寻找父、祖两代骨骼,并模拟人的肢体进行运动学解算,使得末端点保持在模型空间中的一个固定位置上:
将其它部位也做好IK
为Player挂载动画机,创建一个Idle动画。
点红圈开始录制,将所有的骨骼选中,右击Inspector面板
中的Transform-Position
,选择Add Key
,
对Transform-Rotation
也做如上操作。
不仅仅骨骼,对于IK的末端控制点也要记录他们的关键帧。
这样所有的骨骼都会在动画帧编辑器中有关键帧记录,下面调整各个关键帧的骨骼位置即可。