Spine骨骼动画在Creator中局部换肤以及简单实例

#Spine骨骼动画在Creator中局部换肤以及简单实例
###提示一下:这个方法只适用于H5网页上。。。。。
cocos中Spine的换肤还是很坑的,拐了好多弯路,因为Spine没有实现creator的封装,所以只能调用底层代码,费了好大劲下了个spine官方的Unity Demo才慢慢搞明白。。。。唉心塞

Spine中全局设置皮肤是很容易的,只需要一行代码:
####**.setSkin(skinName);
但是如果只想更换一部分皮肤就相对来讲麻烦一些了~在这里局部换装只能够更换为某个spine动画中的某个图片

spine1.jpeg

比如这两个spine动画,我在这里把下面的手枪换为上面哥布林的头~

  1. 在这里我为了测试把组件放到需要修改的spine动画身上了~

spine2.jpeg

spine3.jpeg

  1. 查找需要修改spine身上的插槽“Slot”
    如果不知道可以先看一下数据:

spine4.jpeg

spine5.jpeg

这样就能找到对应的插槽了~
3. 然后通过哥布林spinedata来获取想要图片的附件

spine6.jpeg

首先找到皮肤,然后找到皮肤中的attachment
4. 最后将这个attachment设置给slot就ok了

spine7.jpeg

  1. 换肤的代码:

spine8.jpeg

并且更换动画也不会恢复到初始图片

spingif.gif

8赞

谢谢分享。请问Web和Native都可以用吗?

学习了

这个我目前还暂时没有测试,我这个只是说一下在cocosCreator中如何局部换装~

就是浏览器和模拟器都可以正常运行吗?

這個讚,感謝分享!!

学习了

局部换骨骼更坑

一堆bug还没有人改

getRuntimeData is not a function, location: src/project.dev.js:0:0
getRuntimeData接口在Android接口下调用不了?

1赞

slot.setAttachment()在Android下也提示找不到接口,真是无语了。。

楼主,如果这个局部换肤还有额外的特效该怎么办? 我要换一个新的武器,这个武器上有自己特有的特效。

MARK

楼主 如果静态换装是正常的 只要一播动画就变回去了 请问有解决方案吗

检查动画文件中,是否有K了一个“附件”的关键帧。若有,删除,解决~

mark

这个是什么意思。。。骨骼动画不懂。。楼主大佬帮忙科普下:sweat_smile:

这可以看出这是一问一答。感谢@wercfz的回答,解决了我的问题。

我也不懂K帧的意思,你去跟美术说,他就会改了。
貌似就是让换肤的部位在导出spine的时候不显示。

spine 隐藏插槽到现在没找到方法呢,各种方法都尝试了。。。服了。

改引擎比较快