准备
-
包管理器安装2d骨骼相关的包
-
选择目标精灵图打开Sprite Editor窗口
-
切换到骨骼编辑器
-
绑定
-
刷权重
-
别忘了应用!!
-
给目标精灵图添加Sprite skin组件然后创建骨骼
-
按需k帧摆动作录动画
窗口说明
总览

骨骼相关

蒙皮相关

权重相关

图集跟单张图片类似给那个部分加骨骼就双击选择那部分就行了
2D反向动力学
([[反向动力学IK]])
在骨骼动画中,构建骨骼的方法被称为正向动力学
即子骨骼(关节)的位置根据父骨骼(关节)的旋转而改变
以人体为例当我们抬起手臂时,是肩部关节带动的整个手臂的运动,用父子骨骼理解的话就是父带动了子
而IK全称是Inverse kinematics即反向动力学与正向动力学恰恰相反
即子骨骼(关节)末端的位置改变会带动自己以及自己的父骨骼(关节)旋转
以人体为例当我们拿起一个杯子的时候是用手掌去拿,以杯子为参照物,我们移动杯子的位置,手臂会随着杯子一起移动
用父子骨骼理解的话就是子带动了父
IK的用途
//1.瞄准功能
//2.头部朝向功能
//3.拾取物品功能
//等等有指向性的功能时 我们都可以通过IK来达到目的
//最大的作用,可以方便我们进行动画制作
使用
记得给目标骨骼末端添加个空物体,也是下面effector组件的IK点位置
- 给目标精灵图添加IK Manager组件
- 选择IK解算器后点生成会自己创建给空物体并添加相应组件
换装
相关组件和数据文件
SpriteLibrary: 精灵资料库,确定类别分组信息
SpriteResolver一精灵解算器,用于确定部位类别和使的图片//一个数据文件
SpriteLibraryAsset==(数据文件)==: 精灵资料库资源,具体记录类别分组信息的文件
同一个文件中的换装资源
- 在ps制作美术资源时,将所有换装资源都摆在相应位置
- 导入改资源(注意是否导入隐藏图层)
- 每个部位关联的骨骼要明确设置
- 为同一部位的不同准备分组.
示例
-
安装这个库

-
导入psd资源(用刚刚安装的包提供的导入器来导入)

-
绑定然后刷权重


-
新建一个空对象并给添加Sprite Library组件

-
创建Sprite Library Assets数据文件添加分类跟标签

-
在要换装的部位添加Sprite Resolver组件

-
然后就行了
代码修改流程
1.获取各部位的spriteResolver
2.使用spriteResolver的API进行装备切换
Getcategory()获取当前部位默认的类别名
SetcategoryAndLabel 设置当前部位想要切换的图片信息
private SpriteResolver[] componentsInChildren;
// Start is called before the first frame update
void Start()
{
componentsInChildren = GetComponentsInChildren<SpriteResolver>();
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Alpha1))
{
changeBodyEquipment(1);
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
changeBodyEquipment(2);
}
if (Input.GetKeyDown(KeyCode.Alpha3))
{
changeBodyEquipment(3);
}}
public void changeBodyEquipment(int i)
{
foreach (SpriteResolver componentsInChild in componentsInChildren)
{ if (componentsInChild.GetCategory().Equals("bodyEquipment"))
{ switch (i)
{ case 1: componentsInChild.SetCategoryAndLabel("bodyEquipment", "pants");
break;
case 2: componentsInChild.SetCategoryAndLabel("bodyEquipment", "tshirt1");
break;
case 3: componentsInChild.SetCategoryAndLabel("bodyEquipment", "tshirt2");
break;
}
}
}
}
不同psd文件的换装
保证各部位在ps文件中的位置对称
基础部位选择性隐藏
不同文件的骨骼信息必须统一,所以采用复制粘贴的方法其余流程跟单一文件的一样
1.首先创建spriteLibraryAsset数据文件
2.为跟对象添加spriteLibrary并关联数据文件
3.为换装部位关联spriteResolver
同一文件和不同文件的区别
换装较少的游戏 比如只有面部表情更换 可以使用同一psb文件方案
换装较多的游戏 比如各部位都有n种装备 可以使用不同psb文件方案
不同psb文件 拓展性更强
一句话根据需求而定!




