先看成果

unity2d 像素 换装 unity做2d换装游戏_unity2d 像素 换装

 图片上限5M,画质渣没办法o(╥﹏╥)o

思路参考:https://www.youtube.com/watch?v=ZgCB4tifQ_c

unity2d 像素 换装 unity做2d换装游戏_图层_02

        2D角色换装的教程不少,但大多都是以套装为主,大批量替换局部装备的似乎没有。研究了很久,这里也算做一个记录。

一、角色素材

        角色所有部位都需要在PS里面单独分层,保存PSB源文件导入Unity。

        注:肢体和装备都需要有,注意图层遮挡顺序。

unity2d 像素 换装 unity做2d换装游戏_unity_03

二、装备素材

建议每一件装备都在图层内对齐。

例:所有衣袖需要向上对齐,所有鞋子需要向下对齐,不同武器需要手持位置对齐。

unity2d 像素 换装 unity做2d换装游戏_赋值_04

unity2d 像素 换装 unity做2d换装游戏_unity2d 像素 换装_05

三、角色绑定

        下图仅做参考,不会Unity2D绑定的小伙伴还请移步其他教程。

        注:不要忘记给装备也附上蒙皮,不然后续会报错。

unity2d 像素 换装 unity做2d换装游戏_赋值_06

    

四、装备绑定 

以上衣举例

Copy Rig。

unity2d 像素 换装 unity做2d换装游戏_图层_07

重点是要包含该部位的全部骨骼。

unity2d 像素 换装 unity做2d换装游戏_赋值_08

Paste Rig进行拷贝。

只需要勾选Bones骨骼即可,其他的不需要复制进来。

unity2d 像素 换装 unity做2d换装游戏_重启_09

         骨骼复制进来后,按照下图所示步骤给所有上衣素材统一刷蒙皮。

unity2d 像素 换装 unity做2d换装游戏_赋值_10

本体被替换部位的骨骼数,一定要与替换装备骨骼数量、所在父子级关系完全一致。一般来说拷贝不会错,除非骨骼漏选,或者本体该部位的蒙皮有问题。

五、Sprite Library Asset装配

        首先新建一个Sprite Library Asset,这是2021的版本,有些版本可能不在这个位置,但是名字都一样。

unity2d 像素 换装 unity做2d换装游戏_图层_11

         新建所属的装备分类,并把相对应PSB中的Sprite文件都拖进去。

unity2d 像素 换装 unity做2d换装游戏_unity_12

unity2d 像素 换装 unity做2d换装游戏_赋值_13

六、Player换装

新增Sprite Library组件,并把刚刚配好的Sprite Library Asset赋值给他。

unity2d 像素 换装 unity做2d换装游戏_unity2d 像素 换装_14

换装部位添加组件Sprite Resolver,选择刚刚配置好的对应Category。批量换装就完成啦!

unity2d 像素 换装 unity做2d换装游戏_赋值_15

        如若装备位置与Player位置对不上或扭曲变形,在装备Editor中调整骨骼的旋转角度或位置即可。

七、Sprite Skin报错

具体内容可以自行学习官方文档,这里要讲的是可能存在的报错问题。

unity2d 像素 换装 unity做2d换装游戏_赋值_16

 1、缺少Collections Packages

unity2d 像素 换装 unity做2d换装游戏_unity2d 像素 换装_17

Install Burst and Collections packages to enable deformation batching

重启大法,专治载入不成功。

unity2d 像素 换装 unity做2d换装游戏_unity2d 像素 换装_18

 2、换骨不匹配

unity2d 像素 换装 unity做2d换装游戏_图层_19

Sprite has no Bind Poses 

        如果出现这个报错,会导致角色换装时骨骼动作跟不上,主打一个不同步。

替换者 与 被替换者 的骨骼数量或父子级关系不匹配,导致配对失败,需要重新检查双方是否一致。