Cocos实例6:Spine动画换装解决方案

Spine动画换装解决方案

spine动画的换装应用根据实际需求分为整体换装和局部换装。参照 羽毛先生的Spine换装方案解析:换装本质上是换插槽上的附件贴图。贴图来源可以是spine导出文件中带有的贴图,也可以是Cocos Creator中的texture。先看一下作者曾培森的spine制作和渲染流程图:

  • spine制作
    (来源:作者:曾培森)
  • spine渲染流程图:
    (来源:作者:曾培森)

整体换装

整体换装相对比较简单,在spine编辑器中设置好皮肤,运行时调用换肤的API即可。

  • 美术工程:
    1. 在spine动画编辑软件中创建皮肤并选择生效
    2. 在动态换肤的部件上设置皮肤占位符,占位符下放入生效皮肤所需要显示的贴图。
  • 程序工程
    1. 运行时调用setSkin即可
  • 应用:
    参照官方文档:
    1. 创建一个换装脚本:ChangeSkin.ts
import {
    _decorator, Component, Node, sp } from 'cc';
const {
    ccclass, property } = _decorator;

@ccclass('ChangeSkin')
export class ChangeSkin extends Component {
   
    @property(sp.Skeleton)
    girlSp:sp.Skeleton = null!;

    _skinId:number = 0;
    _skins:string[] = [];
    start() {
   
        this._skins = ['girl','boy','girl-blue-cape','girl-spring-dress'].map(x=>(`full-skins/${
     x}`));
        
    }
    changeSkin(){
   
        this._skinId = (this._skinId + 1) % this._skins.length;
        this.girlSp.setSkin(this._skins[this._skinId]);
    }

    update(deltaTime: number) {
   
        
    
  • 36
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值