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