# Cocos Service Pack Demo 这是对服务包所有特性做展示的 Cocos Creator 演示项目。 ## 如何运行 1. 将项目克隆下来之后,根据文档中的 [安装指南](https://smallmain.github.io/cocos-service-pack/docs/installation-guide/installation-intro) 安装服务包。 2. 重启编辑器后运行项目的 `main.fire` 场景。 // Cocos Creator SP v2.4.x // 提供内置的多纹理材质(8、16 纹理插槽),并根据设备使用不同的材质 // 扩展 Sprite、Label、RichText、MotionSteak、Spine 组件原生支持多纹理材质 // 新增多纹理合批管理器:每个纹理都会对应一个材质,当纹理在渲染组件中使用时,会自动切换至对应的材质,支持控制全局默认是否自动切换,单个组件是否自动切换 // 重构动态合图:在原有功能的基础上,支持:1.完全开放所有接口以手动规划图集 2.增加全局默认是否参与动态合图的开关,单个组件是否参与的开关 3.增加在场景切换时是否清空所有图集的开关(原来是必定清空) 4.支持自动加入多纹理合批 5.自动根据设备支持的最大多纹理数量调整最大图集数量 6.优化装箱算法(Guillotine)7.支持复用被删除的空间 8.所有子图集作为一个整体进行管理(不会出现一张纹理被加入到两张图集的问题)9.修复动态图集一个内存泄漏问题 // 扩展 RichText:支持自定义材质 // 扩展 Spine:支持使用 SpriteFrame 换装 // 扩展 Label:支持高 DPI 文本渲染 // 扩展 Label:BITMAP 模式会复用同样式同文本的纹理,CHAR 模式改为使用多个图集,但是支持自动加入多纹理合批,这样就能与动态图集一起合批(增加配置,默认情况下动态图集最高8-1张,Char 图集为 1 张(无论如何设置,在装不完的情况下,因为需要正常渲染,都会最高使用 8 张图集,但是只有设置的数量才会加入多纹理合批,并且会创建一个专属材质,如果该材质无法完成渲染,会使用专属材质,或者可以仿照 spine flush buffer) // 扩展 Spine:支持自动切换材质与动态图集 // Spine 需要更多测试!!!SkeletonData 克隆会有 ref 问题吗? // 注意:序列帧动画的性能下降(具体多少待测试) // 之后: // CHAR 模式有时候空格(字符也可能)会有额外的纹理,可能是复用没考虑 space // 演示项目比较慢,加上加载中 https://smallmain.github.io/cocos-service-pack/demo/web-desktop/index.html // 查找所有 TODO // 插件适配 Windows // 演示项目 // 插件适配两个版本:最新版与 2.4.6 版本 // 适配原生平台 // 适配 Spine 缓存模式 // 适配 Spine useTint 模式 // 新增静态合批:在一个节点树的根节点挂上一个组件,该组件会快照这个节点树并显示为一张图片,然后只接管渲染,不影响其它逻辑