换装系统很简单,无非把握好两点:1.对数据的处理。2.熟悉API。无论是spine还是龙骨亦或者是unity自带的骨骼动画系统皆是如此。熟悉api最快的方式就是看官方给的demo,了解常用的api即可。
下面大致介绍下我用spine实现换装的内容。换装一般用到的是局部换装和整套换装,局部的话切换插槽(Slot)即可。用到的代码:
skeletonAnimation.Skeleton.SetAttachment("qianbi", "qianbi_1");
对应的插槽、插槽名和部件可以和动画师商量好。 整套切换代码:
_.GetComponent().Skeleton.SetSkin("skin_0");
对应的皮肤 这里踩到个小坑,就是UI的spine动画无法通过上面代码直接切换整套。参考了一下spine示例工程使用如下代码解决。
var sk = ani.GetComponent();
sk.initialSkinName = "skin_0";
sk.Initialize(true); //重新初始化
下图为UI动画组件。
目前用到这些内容解决了需求,如果后面有用到新知识会继续更新。