1. Unity 2D Animation 的安装
Unity 2D Animation是作为插件包安装到unity中的。首先打开Unity,本文使用的Unity版本为2020.3.21,在菜单栏中选择Window->Package Manager,打开包管理器。Unity2020以上的版本创建2d项目会默认安装2D Animation,所以右下角显示的是“Update to 5.0.9”按钮,提示可以更新2D Animation插件,2019版本需要再此处点击“Install”按钮先进行插件的安装。
2. 2D PSD Importer安装
2D PSD Importer插件支持使用PSB(注意,并没有写错,PSB文件是Photoshop大文件格式)文件作为图片素材直接导入到Unity中进行编辑,会保留Photoshop中的图层,分组等信息,并且最终显示效果与Photoshop中保持一致,是可以提高生产效率的工具。同样,在Unity2020及以上版本中是作为内置的插件默认安装的,此处可以进行更新。在Unity2019版本中则需要点击“Install”按钮来安装插件。
3. 创建骨骼 Create Bone
插件安装好了之后,就需要导入角色,角色可以使用PNG的格式,也可以使用PSB的格式,推荐使用PSB。在Photoshop中使用快捷键“Ctrl+Shift+S”,或者直接在文件菜单中找到另存为指令,选择PSB Photoshop大文件格式即可保存成PSB文件。
我们先用PSB文件为例子进行骨骼的创建。这里使用的是Micheal老师视频中的角色作为案例。想要下载角色可以去Micheal老师视频里面找到下载链接。
直接将PSB文件拖入到项目的Project窗口中的Asset目录下,最好为其创建一个目录,以便文件管理。
点击导入的PSB文件,查看右侧的Inspector监视面板,查看图片的属性。
确认Texture Type属性和Sprite Mode属性如图所示。如果不一样则先选择对应的选项,然后点击最下面的Apply——应用按钮。确认属性一致后,点击Sprite Editor,打开Sprite精灵编辑器。
打开Sprite Editor之后可以看到角色所有的部件都分开平铺了,选择左上角的下拉菜单。
在下拉菜单中选择最后一个人,Skinning Editor(蒙皮管理器)。
这时人物角色又重新变成一个整体了。左侧的三个菜单区域,分别是编辑骨骼的 区域——Bones,编辑顶点的区域——Geometry,编辑权重的区域——Weights。
右侧的Visibility(视图)按钮,点击之后可以显示Bone骨骼和Sprite精灵图片,先在Sprite视图中隐藏武器Weapon_stick,方便进行骨骼的创建与绑定。
选择左侧的Create Bone按钮,开始创建骨骼。创建骨骼应该从人体盆骨处开始,向上画出腰椎,然后是胸椎,然后是头部(更接近真实人体比例的角色需要创建更多的脊椎骨骼节点)。四肢的创建应该从躯干的骨骼分支出来,比如大腿应该从腰椎处引出,点击腰椎后再创建大腿,可以看到一根半透明的骨骼连接。注意一定要有这个连接,否则四肢骨骼不会随着躯干的骨骼运动。依次创建脚,手和头发的骨骼点。
骨骼创建好了之后,就开始进行蒙皮操作了。这里选择Auto Geometry按钮,进行顶点的创建。点击后弹出右下角的设置面板,其中的Outline Detail用来控制整个图形的外轮廓细节数量,越高代表细节越多,但是也会越消耗性能,需要根据项目和角色图片择中处理。
调整好参数之后,点击Generate For All Visible(为所有可见部分生成顶点),可以生成如下图所示的顶点。可以看到,不同颜色的骨骼周围的顶点颜色会靠近临近骨骼的颜色。这代表这片区域是受同色骨骼的影响的。
4. 创建顶点 Auto Geometry
自动创建的顶点有些地方会有一些瑕疵,需要手动修改顶点。可以点击Edit Geometry按钮来编辑节点,点击按钮后双击想要修改的顶点范围,如下图中的头发,可以看到整个头发部分被选中,调整有问题的几个节点,使之贴合图片轮廓就行。
完成之后可以测试一下骨骼与皮肤的绑定效果。旋转一下四肢后,发现躯干小部分随着手臂拉扯,这个效果不太好,需要进行一定的修改。这个属于权重问题,我们选择权重菜单中的最后一个按钮Bone Influence(骨骼影响),查看一块区域收到哪些骨骼的影响。双击躯干,点击Bone Influence按钮,可以看到躯干受到了7处骨骼的影响,其中四肢和头部的骨骼影响是多余的,我们选中这几个骨骼后,再右下角点击“-”号来删除这个骨骼的影响(有时候减号是灰色不能点击的状态,来回点几次会恢复,知道是不是Unity的Bug)。
同理,剔除头发骨骼对于头部的影响。注意:这里的头有三个,对应不同表情的头部,三个头都需要剔除影响,点击Sprite Sheet查看身体部件平铺图,可以看到三个头,分变进行剔除操作(如果再Sprite Sheet界面没法点击减号,则再次点击Sprite Sheet按钮推出该模式,则可正常点击减号)。
5. 权重刷
骨骼影响剔除完成后,旋转头发骨骼可以发现头发形变太大,脱离了头部的范围。这时候可以使用权重刷来微调每个部分的权重。
点击权重刷,弹出面板中可以设置刷子的大小和硬度。点击头部绿色骨骼后,将有问题的头发区域刷成这个骨骼的绿色,这样该处节点就受绿色骨骼影响,回到了头部。依次再将其他几个头发骨骼进行测试,有问题的用权重刷调整。
调整完后别忘记点击Apply进行应用。
应用后关闭Sprite Editor回到Unity窗口中,将编辑过的MBoy角色拖入到Hierarchy层级视图中,可以再Scene视图里面看到角色以及对应的骨骼点,尝试调整骨骼点,角色会跟随骨骼做出动作。
骨骼绑定学完了,进入下一章节学习IK系统吧。