cocos-enhance-kit/demo/README.md

41 lines
3.3 KiB
Markdown
Raw Normal View History

2022-06-13 13:51:01 +00:00
# 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.优化装箱算法Guillotine7.支持复用被删除的空间 8.所有子图集作为一个整体进行管理不会出现一张纹理被加入到两张图集的问题9.修复动态图集一个内存泄漏问题
// 扩展 RichText支持自定义材质
// 扩展 Spine支持使用 SpriteFrame 换装
// 扩展 Label支持高 DPI 文本渲染
// 扩展 LabelBITMAP 模式会复用同样式同文本的纹理CHAR 模式改为使用多个图集但是支持自动加入多纹理合批这样就能与动态图集一起合批增加配置默认情况下动态图集最高8-1张Char 图集为 1 张(无论如何设置,在装不完的情况下,因为需要正常渲染,都会最高使用 8 张图集,但是只有设置的数量才会加入多纹理合批,并且会创建一个专属材质,如果该材质无法完成渲染,会使用专属材质,或者可以仿照 spine flush buffer
// 扩展 Spine支持自动切换材质与动态图集
// 提醒 Spine 的材质自动切换会有缓存,修改关联的材质后,生效可以手动清除 comp._materialCache = {};,其它组件的材质生效需要 setVertsDirty
// 提醒 cc.SkeletonData.createSpriteFrame ,如果 region 的旋转角度不是 270 或 0 不能完美转换,但不影响自动合图
// 提醒 SpineData 如果同时使用多个 texture只会使用第一个 texture 的 multiMaterial 进行自动切换
// Spine 需要更多测试SkeletonData 克隆会有 ref 问题吗?
// 注意:因 MotionSteak 直接使用 texture 而不是 spriteFrame所以不支持动态图集
// 注意Spine 使用多纹理材质时只支持使用 REALTIME 模式,并且会强制关闭 useTint 与开启 enableBatch
// 注意:序列帧动画的性能下降(具体多少待测试)
// 之后:
// 查找所有 TODO
// 插件适配 Windows
// 演示项目
// 插件适配两个版本:最新版与 2.4.6 版本
// 适配原生平台
// 适配 Spine 缓存模式
// 新增静态合批:在一个节点树的根节点挂上一个组件,该组件会快照这个节点树并显示为一张图片,然后只接管渲染,不影响其它逻辑