换装对游戏创作来说,是一个很重要的功能
Spine是一款优秀的骨骼动画工具. Spine3.8版本改进了皮肤api,换装变得更容易了
我们以Spine官方demo为例,讲解如何实现换装
###1.下载Demo
这里 下载demo
###2.导入Demo 打开Unity,新建一个空项目,按照这篇 教程 把demo导进去
新建SkeletonAnimation 组件,把mix-and-match-pro_SkeletonData挂载上去
Loop选项勾上
你可以选择Initial Skin来浏览不同的皮肤效果,但最后要改回default(虽然什么都没有)
这是默认的皮肤套装,以便我们换装
###3.创建脚本 新建一个c#脚本:DressUp, 并挂载到SkeletonAnimation
双击这个脚本,进入编辑器编码 代码如下:
    
    
public class DressUp : MonoBehaviour { public SkeletonAnimation skeletonAnimation ; // Start is called before the first frame update void Start ( ) { Apply ( ) ; } // Update is called once per frame void Update ( ) { } void Apply ( ) { // var skeletonGraphic = GetComponent<SkeletonGraphic>(); var skeleton = skeletonAnimation . Skeleton ; var skeletonData = skeleton . Data ; Skin mixAndMatchSkin = new Skin ( "custom-girl" ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "skin-base" ) ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "nose/short" ) ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "eyelids/girly" ) ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "eyes/violet" ) ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "hair/blue" ) ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "accessories/bag" ) ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "legs/pants-jeans" ) ) ; mixAndMatchSkin . AddSkin ( skeletonData . FindSkin ( "clothes/dress-green" ) ) ; skeleton . SetSkin ( mixAndMatchSkin ) ; } }
保存后,点击运行即可看到效果. 更多功能,请参阅Spine官方更新 日志
Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐