mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2024-12-24 02:38:30 +00:00
名称修改为 enhance-kit
This commit is contained in:
parent
0420aa7b9c
commit
fc960a3041
@ -38,7 +38,7 @@
|
||||
|
||||
1.将对 engine 的改动整合到 Git Patch,然后将 Patch 按相应的引擎目录放置在 `patches` 目录并放在压缩包根目录内。
|
||||
2.编译 JavaScript 引擎和原生模拟器,再将三个引擎目录放到压缩包根目录内,包括类型提示文件。
|
||||
3.将 `service-pack-support` 目录放在压缩包根目录内。
|
||||
3.将 `enhance-kit-support` 目录放在压缩包根目录内。
|
||||
4.更新文档的更新日志。
|
||||
|
||||
### 发布压缩包
|
||||
|
32
README.md
32
README.md
@ -1,12 +1,12 @@
|
||||
# Cocos Service Pack
|
||||
# Cocos Enhance Kit
|
||||
|
||||
![logo](/docs/static/img/logo2.png)
|
||||
|
||||
这是一个提供 Cocos Creator 引擎特性增强、修复与优化的**开源非官方服务包**。
|
||||
这是一个提供 Cocos Creator 引擎特性增强、修复与优化的**开源非官方增强包**。
|
||||
|
||||
该项目使用自定义引擎的方式在符合原始引擎架构设计的基础上为 Cocos Creator 引擎加入新的特性、修复已知问题以及性能优化。
|
||||
|
||||
正因为如此,服务包中的大部分特性能像升级引擎版本一样无需改动项目代码即可生效。
|
||||
正因为如此,增强包中的大部分特性能像升级引擎版本一样无需改动项目代码即可生效。
|
||||
|
||||
<br>
|
||||
|
||||
@ -14,9 +14,11 @@
|
||||
>
|
||||
>2021 年 2 月,Cocos 发布 Cocos Creator 3.0,之后不会再开发 2.x 版本的新特性,但 2.x 在一些方面还并不完善,所以这个非官方的引擎“魔改”合集应运而生。
|
||||
>
|
||||
>给项目取名的时候想到相似的事情发生在 2014 年 4 月,官方停止了对 Windows XP 的维护,之后 Harkaz 发布了一个非官方服务包 Service Pack 4 (SP4)。
|
||||
>给项目取名的时候想到相似的事情发生在 2014 年 4 月,官方停止了对 Windows XP 的维护,之后 Harkaz 发布了一个非官方增强包 Service Pack 4 (SP4)。
|
||||
>
|
||||
>受到这个命名的启发,遂项目取名为 Service Pack。
|
||||
>受到这个命名的启发,遂想将项目取名为 Service Pack。
|
||||
>
|
||||
>但是这个名字有点怪怪的,最后在 麒麟子(Kylins) 的帮助下,我们为项目想到了一个更好的名字,Enhance Kit,再次感谢 麒麟子(Kylins)。
|
||||
|
||||
<br>
|
||||
|
||||
@ -28,7 +30,7 @@
|
||||
- [功能演示](#功能演示)
|
||||
- [使用方法](#使用方法)
|
||||
- [更新日志](#更新日志)
|
||||
- [Service Pack v1.0.0](#service-pack-v100)
|
||||
- [Enhance Kit v1.0.0](#enhance-kit-v100)
|
||||
- [贡献指南](#贡献指南)
|
||||
- [常见问题](#常见问题)
|
||||
- [为什么要直接修改引擎?](#为什么要直接修改引擎)
|
||||
@ -55,19 +57,19 @@
|
||||
|
||||
## 功能演示
|
||||
|
||||
[Web Desktop 演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html)
|
||||
[Web Desktop 演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html)
|
||||
|
||||
[Web Mobile 演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-mobile/index.html)(请将设备横屏)
|
||||
[Web Mobile 演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-mobile/index.html)(请将设备横屏)
|
||||
|
||||
> 服务包对引擎的改动完全开源,每个改动会带有原理说明文档,当你发现问题时请与我们进行反馈,如果你有兴致,可以默默帅气地提交一个 PR,帮助我们一起完善这个项目。
|
||||
> 增强包对引擎的改动完全开源,每个改动会带有原理说明文档,当你发现问题时请与我们进行反馈,如果你有兴致,可以默默帅气地提交一个 PR,帮助我们一起完善这个项目。
|
||||
|
||||
## 使用方法
|
||||
|
||||
请阅读文档的 [安装指南](https://smallmain.gitee.io/cocos-service-pack/docs/installation-guide/installation-intro) 与 [入门教程](https://smallmain.gitee.io/cocos-service-pack/docs/start-guide/start-guide-intro)。
|
||||
请阅读文档的 [安装指南](https://smallmain.gitee.io/cocos-enhance-kit/docs/installation-guide/installation-intro) 与 [入门教程](https://smallmain.gitee.io/cocos-enhance-kit/docs/start-guide/start-guide-intro)。
|
||||
|
||||
## 更新日志
|
||||
|
||||
### Service Pack v1.0.0
|
||||
### Enhance Kit v1.0.0
|
||||
|
||||
- **[新特性] 支持多纹理渲染**
|
||||
- **[新特性] 重构动态图集,支持多个新特性**
|
||||
@ -80,7 +82,7 @@
|
||||
- [修复] CHAR 缓存模式 hash 计算可能会有重复的问题
|
||||
- [调整] 默认禁用 Label 原生 TTF 渲染器
|
||||
|
||||
[点此](https://smallmain.gitee.io/cocos-service-pack/docs/update-log) 查看所有的更新日志。
|
||||
[点此](https://smallmain.gitee.io/cocos-enhance-kit/docs/update-log) 查看所有的更新日志。
|
||||
|
||||
## 贡献指南
|
||||
|
||||
@ -104,12 +106,12 @@
|
||||
|
||||
以上问题我们都思考过,首先,现在引擎的 2.x 版本已经停止了更新(仅做一些维护工作),也就是说修改引擎不会遇到在官方新版本发布后需要用大量时间去适配的情况。
|
||||
|
||||
其次,即使服务包的所有改动都能做成一个插件脚本,但无法兼容原生平台,并且一般都需要大量拷贝代码,包体会增大,可维护性会大幅降低。
|
||||
其次,即使增强包的所有改动都能做成一个插件脚本,但无法兼容原生平台,并且一般都需要大量拷贝代码,包体会增大,可维护性会大幅降低。
|
||||
|
||||
最后,我们希望它接近 “原生” 的使用体验,就像引擎本来就有的功能一样,对于没有接触过自定义引擎的人,可以通过引擎扩展一键安装。
|
||||
|
||||
对于已经修改过引擎的人,由于服务包提供的是 Git Patch,所以可以让你在原有的基础上轻松应用服务包的改动,你甚至可以只选取你想要的特性进行应用。
|
||||
对于已经修改过引擎的人,由于增强包提供的是 Git Patch,所以可以让你在原有的基础上轻松应用增强包的改动,你甚至可以只选取你想要的特性进行应用。
|
||||
|
||||
### 启动 Cocos Creator 报 Error: Can not parse this input:undefined 错误
|
||||
|
||||
这是你可能忘记安装配套的引擎扩展,所以没有找到服务包的内置资源导致的报错。
|
||||
这是你可能忘记安装配套的引擎扩展,所以没有找到增强包的内置资源导致的报错。
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Cocos Service Pack Demo
|
||||
# Cocos Enhance Kit Demo
|
||||
|
||||
这是对服务包所有特性做展示的 Cocos Creator 演示项目。
|
||||
这是对增强包所有特性做展示的 Cocos Creator 演示项目。
|
||||
|
||||
## 如何运行
|
||||
|
||||
1. 将项目克隆下来之后,根据文档中的 [安装指南](https://smallmain.gitee.io/cocos-service-pack/docs/installation-guide/installation-intro) 安装服务包。
|
||||
1. 将项目克隆下来之后,根据文档中的 [安装指南](https://smallmain.gitee.io/cocos-enhance-kit/docs/installation-guide/installation-intro) 安装增强包。
|
||||
|
||||
2. 重启编辑器后运行项目的 `main.fire` 场景。
|
||||
|
@ -3003,8 +3003,8 @@
|
||||
],
|
||||
"_srcBlendFactor": 770,
|
||||
"_dstBlendFactor": 771,
|
||||
"_string": "源码:https://github.com/smallmain/cocos-service-pack/tree/master/demo",
|
||||
"_N$string": "源码:https://github.com/smallmain/cocos-service-pack/tree/master/demo",
|
||||
"_string": "源码:https://github.com/smallmain/cocos-enhance-kit/tree/master/demo",
|
||||
"_N$string": "源码:https://github.com/smallmain/cocos-enhance-kit/tree/master/demo",
|
||||
"_fontSize": 16,
|
||||
"_lineHeight": 20,
|
||||
"_enableWrapText": true,
|
||||
@ -3122,4 +3122,4 @@
|
||||
"fileId": "",
|
||||
"sync": false
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -575,8 +575,8 @@
|
||||
],
|
||||
"_srcBlendFactor": 770,
|
||||
"_dstBlendFactor": 771,
|
||||
"_string": "- Cocos Service Pack Demo -",
|
||||
"_N$string": "- Cocos Service Pack Demo -",
|
||||
"_string": "- Cocos Enhance Kit Demo -",
|
||||
"_N$string": "- Cocos Enhance Kit Demo -",
|
||||
"_fontSize": 14,
|
||||
"_lineHeight": 16,
|
||||
"_enableWrapText": true,
|
||||
@ -6050,4 +6050,4 @@
|
||||
},
|
||||
"_id": "bb+fS+fRdNjpHlO+aD5arl"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -2,7 +2,7 @@
|
||||
"engine": "cocos2d-html5",
|
||||
"packages": "packages",
|
||||
"version": "2.4.9",
|
||||
"name": "cocos-service-pack-demo",
|
||||
"name": "cocos-enhance-kit-demo",
|
||||
"id": "00fac3aa-a82e-4242-8505-128adae1c6c7",
|
||||
"isNew": false
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
},
|
||||
"packageName": "org.cocos2d.helloworld",
|
||||
"startScene": "cab4af66-dc74-41b5-8826-79b3a30ba99a",
|
||||
"title": "Cocos-Service-Pack-Demo",
|
||||
"title": "Cocos-Enhance-Kit-Demo",
|
||||
"webOrientation": "landscape",
|
||||
"inlineSpriteFrames": true,
|
||||
"inlineSpriteFrames_native": true,
|
||||
|
@ -8,21 +8,21 @@ description: "推荐使用此方式进行一键安装。"
|
||||
---
|
||||
## 前往 Cocos Store 下载
|
||||
|
||||
在 Cocos Store 搜索名为 **Cocos Service Pack** 的引擎扩展,或者 [点此跳转](https://store.cocos.com/app/detail/3824)。
|
||||
在 Cocos Store 搜索名为 **Cocos Enhance Kit** 的引擎扩展,或者 [点此跳转](https://store.cocos.com/app/detail/3824)。
|
||||
|
||||
这个扩展不是免费的,**但其唯一的作用就是帮助你管理服务包的版本(查看、安装和卸载服务包)。**
|
||||
这个扩展不是免费的,**但其唯一的作用就是帮助你管理增强包的版本(查看、安装和卸载增强包)。**
|
||||
|
||||
:::tip 常见问题
|
||||
|
||||
- **Service Pack 不是开源项目吗???**
|
||||
- **Enhance Kit 不是开源项目吗???**
|
||||
|
||||
Service Pack 是完全开源的项目,这个引擎扩展只会为你提供自动化的安装方式,以后也只会有版本管理方面的功能。
|
||||
Enhance Kit 是完全开源的项目,这个引擎扩展只会为你提供自动化的安装方式,以后也只会有版本管理方面的功能。
|
||||
|
||||
你可以选择 [手动安装](./installation-manual.md),也只需要几步即可完成。
|
||||
|
||||
- **如何反馈有关这个扩展的问题或建议**
|
||||
|
||||
若遇到与这个扩展相关的问题或者建议,不要在服务包的 Github 仓库反馈,请在扩展的 **商店评论区** 进行反馈。
|
||||
若遇到与这个扩展相关的问题或者建议,不要在增强包的 Github 仓库反馈,请在扩展的 **商店评论区** 进行反馈。
|
||||
|
||||
因为这个扩展的收益是个人的,所以也只由个人维护。
|
||||
|
||||
@ -31,16 +31,16 @@ description: "推荐使用此方式进行一键安装。"
|
||||
---
|
||||
## 查询信息
|
||||
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 服务包管理 - 查看信息**,会打印当前环境信息。
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 增强包管理 - 查看信息**,会打印当前环境信息。
|
||||
|
||||
![plugin-info](./assets/plugin-info.png)
|
||||
|
||||
你可以看到当前引擎版本支持一键安装的服务包版本,已安装的服务包版本等信息。
|
||||
你可以看到当前引擎版本支持一键安装的增强包版本,已安装的增强包版本等信息。
|
||||
|
||||
---
|
||||
## 一键安装
|
||||
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 服务包管理 - 安装服务包 - 安装最新版本**,会自动开始安装服务包。
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 增强包管理 - 安装增强包 - 安装最新版本**,会自动开始安装增强包。
|
||||
|
||||
![plugin-install](./assets/plugin-install.png)
|
||||
|
||||
@ -54,15 +54,15 @@ description: "推荐使用此方式进行一键安装。"
|
||||
|
||||
![installedconsole](./assets/installed-console.png)
|
||||
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解服务包为你的开发都带来了哪些新特性!
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解增强包为你的开发都带来了哪些新特性!
|
||||
|
||||
---
|
||||
## 更多特性
|
||||
|
||||
在服务包发布新版本之后,你可能还没做好升级的准备,这时候你可以点击 **扩展 - 服务包管理 - 安装服务包 - 安装其它版本** 安装服务包的历史版本。
|
||||
在增强包发布新版本之后,你可能还没做好升级的准备,这时候你可以点击 **扩展 - 增强包管理 - 安装增强包 - 安装其它版本** 安装增强包的历史版本。
|
||||
|
||||
该扩展会收录服务包发布过的所有版本。
|
||||
该扩展会收录增强包发布过的所有版本。
|
||||
|
||||
服务包只会适配引擎的最新版本,如果你需要在其它引擎版本上安装服务包,一般需要手动使用 Git Patch。
|
||||
增强包只会适配引擎的最新版本,如果你需要在其它引擎版本上安装增强包,一般需要手动使用 Git Patch。
|
||||
|
||||
之后扩展可能会额外适配更多的引擎版本,这取决于大家具体的需求如何。
|
||||
|
@ -3,11 +3,11 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 安装指南
|
||||
|
||||
服务包主要使用 [自定义引擎](https://docs.cocos.com/creator/2.4/manual/zh/advanced-topics/engine-customization.html) 的方式对引擎进行修改。
|
||||
增强包主要使用 [自定义引擎](https://docs.cocos.com/creator/2.4/manual/zh/advanced-topics/engine-customization.html) 的方式对引擎进行修改。
|
||||
|
||||
但由于自定义引擎不能添加内置资源与扩展内置组件的 Inspector,所以还需要安装配套的引擎扩展。
|
||||
|
||||
对于使用 TypeScript 的项目,服务包提供了 `creator-sp.d.ts` 类型提示文件。
|
||||
对于使用 TypeScript 的项目,增强包提供了 `creator-sp.d.ts` 类型提示文件。
|
||||
|
||||
以下是两种常用的安装方式:
|
||||
|
||||
|
@ -5,14 +5,14 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
# 手动安装
|
||||
|
||||
## Service Pack v1.0.0
|
||||
## Enhance Kit v1.0.0
|
||||
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载服务包](https://github.com/smallmain/cocos-service-pack/releases/tag/v1.0.0)
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载增强包](https://github.com/smallmain/cocos-enhance-kit/releases/tag/v1.0.0)
|
||||
|
||||
---
|
||||
## 标准安装
|
||||
|
||||
**请确保您的项目所使用的引擎版本与服务包适配的引擎版本一致,否则请使用 [补丁安装](#补丁安装)。**
|
||||
**请确保您的项目所使用的引擎版本与增强包适配的引擎版本一致,否则请使用 [补丁安装](#补丁安装)。**
|
||||
|
||||
:::tip 提示
|
||||
|
||||
@ -24,7 +24,7 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
### 1.替换自定义引擎
|
||||
|
||||
下载服务包后,解压压缩包可以看到压缩包内的 `engine` `cocos2d-x` `jsb-adapter` 这三个目录分别是已经整理好的 **JavaScript 引擎**、**Cocos2d-x 引擎** 和 **jsb-adpater**。
|
||||
下载增强包后,解压压缩包可以看到压缩包内的 `engine` `cocos2d-x` `jsb-adapter` 这三个目录分别是已经整理好的 **JavaScript 引擎**、**Cocos2d-x 引擎** 和 **jsb-adpater**。
|
||||
|
||||
接着打开 Cocos Creator 菜单的 **项目 - 项目设置 - 自定义引擎**。
|
||||
|
||||
@ -50,13 +50,13 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
**请勿将此引擎扩展与 [使用引擎扩展安装](./installation-engine-plugin) 中的引擎扩展混淆!**
|
||||
|
||||
**该扩展提供了必需的内置资源,是服务包开源的一部分,请勿同时安装两个引擎扩展,这会引起冲突!**
|
||||
**该扩展提供了必需的内置资源,是增强包开源的一部分,请勿同时安装两个引擎扩展,这会引起冲突!**
|
||||
|
||||
:::
|
||||
|
||||
压缩包内 `service-pack-support` 目录即是扩展本身,将其放到项目的 `packages` 目录即可。
|
||||
压缩包内 `enhance-kit-support` 目录即是扩展本身,将其放到项目的 `packages` 目录即可。
|
||||
|
||||
服务包需要使用名为 `sp` 的 AssetBundle 存放资源,如果你的项目有使用 AssetBundle,请**确保该名称未被占用**。
|
||||
增强包需要使用名为 `sp` 的 AssetBundle 存放资源,如果你的项目有使用 AssetBundle,请**确保该名称未被占用**。
|
||||
|
||||
没有必要将这个 Asset Bundle 设为远程包或者 Zip 压缩,里面只有 Effect 着色器资源。
|
||||
|
||||
@ -78,14 +78,14 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
![](./assets/installed-console.png)
|
||||
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解服务包为你的开发都带来了哪些新特性!
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解增强包为你的开发都带来了哪些新特性!
|
||||
|
||||
---
|
||||
## 补丁安装
|
||||
|
||||
:::caution 提示
|
||||
|
||||
**建议至少将 Cocos Creator 升级到 v2.4.x 版本,服务包所做的改动不保证对 v2.4 版本以下的兼容性。**
|
||||
**建议至少将 Cocos Creator 升级到 v2.4.x 版本,增强包所做的改动不保证对 v2.4 版本以下的兼容性。**
|
||||
|
||||
补丁安装需要掌握一定的 [Git](https://git-scm.com/doc) 知识和修改引擎源码的能力。
|
||||
|
||||
|
@ -6,19 +6,21 @@ hide_title: true
|
||||
|
||||
![logo](/img/logo2.png)
|
||||
|
||||
这是一个提供 Cocos Creator 引擎特性增强、修复与优化的**开源非官方服务包**。
|
||||
这是一个提供 Cocos Creator 引擎特性增强、修复与优化的**开源非官方增强包**。
|
||||
|
||||
该项目使用自定义引擎的方式在符合原始引擎架构设计的基础上为 Cocos Creator 引擎加入新的特性、修复已知问题以及性能优化。
|
||||
|
||||
正因为如此,服务包中的大部分特性能像升级引擎版本一样无需改动项目代码即可生效。
|
||||
正因为如此,增强包中的大部分特性能像升级引擎版本一样无需改动项目代码即可生效。
|
||||
|
||||
:::info 项目的起源
|
||||
|
||||
2021 年 2 月,Cocos 发布 Cocos Creator 3.0,之后不会再开发 2.x 版本的新特性,但 2.x 在一些方面还并不完善,所以这个非官方的引擎“魔改”合集应运而生。
|
||||
|
||||
给项目取名的时候想到相似的事情发生在 2014 年 4 月,官方停止了对 Windows XP 的维护,之后 Harkaz 发布了一个非官方服务包 Service Pack 4 (SP4)。
|
||||
给项目取名的时候想到相似的事情发生在 2014 年 4 月,官方停止了对 Windows XP 的维护,之后 Harkaz 发布了一个非官方增强包 Service Pack 4 (SP4)。
|
||||
|
||||
受到这个命名的启发,遂项目取名为 Service Pack。
|
||||
受到这个命名的启发,遂想将项目取名为 Service Pack。
|
||||
|
||||
但是这个名字有点怪怪的,最后在 麒麟子(Kylins) 的帮助下,我们为项目想到了一个更好的名字,Enhance Kit,再次感谢 麒麟子(Kylins)。
|
||||
|
||||
:::
|
||||
|
||||
@ -41,13 +43,13 @@ hide_title: true
|
||||
|
||||
## 功能演示
|
||||
|
||||
[Web Desktop 演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html)
|
||||
[Web Desktop 演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html)
|
||||
|
||||
[Web Mobile 演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-mobile/index.html)(请将设备横屏)
|
||||
[Web Mobile 演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-mobile/index.html)(请将设备横屏)
|
||||
|
||||
:::note 提示
|
||||
|
||||
服务包对引擎的改动完全开源,每个改动会带有原理说明文档,当你发现问题时请与我们进行反馈,如果你有兴致,可以默默帅气地提交一个 PR,帮助我们一起完善这个项目。
|
||||
增强包对引擎的改动完全开源,每个改动会带有原理说明文档,当你发现问题时请与我们进行反馈,如果你有兴致,可以默默帅气地提交一个 PR,帮助我们一起完善这个项目。
|
||||
|
||||
:::
|
||||
|
||||
@ -57,7 +59,7 @@ hide_title: true
|
||||
|
||||
## 更新日志
|
||||
|
||||
### Service Pack v1.0.0
|
||||
### Enhance Kit v1.0.0
|
||||
|
||||
- **[新特性] 支持多纹理渲染**
|
||||
- **[新特性] 重构动态图集,支持多个新特性**
|
||||
@ -70,7 +72,7 @@ hide_title: true
|
||||
- [修复] CHAR 缓存模式 hash 计算可能会有重复的问题
|
||||
- [调整] 默认禁用 Label 原生 TTF 渲染器
|
||||
|
||||
[点此](https://smallmain.gitee.io/cocos-service-pack/docs/update-log) 查看所有的更新日志。
|
||||
[点此](https://smallmain.gitee.io/cocos-enhance-kit/docs/update-log) 查看所有的更新日志。
|
||||
|
||||
## 贡献指南
|
||||
|
||||
@ -94,12 +96,12 @@ hide_title: true
|
||||
|
||||
以上问题我们都思考过,首先,现在引擎的 2.x 版本已经停止了更新(仅做一些维护工作),也就是说修改引擎不会遇到在官方新版本发布后需要用大量时间去适配的情况。
|
||||
|
||||
其次,即使服务包的所有改动都能做成一个插件脚本,但无法兼容原生平台,并且一般都需要大量拷贝代码,包体会增大,可维护性会大幅降低。
|
||||
其次,即使增强包的所有改动都能做成一个插件脚本,但无法兼容原生平台,并且一般都需要大量拷贝代码,包体会增大,可维护性会大幅降低。
|
||||
|
||||
最后,我们希望它接近 “原生” 的使用体验,就像引擎本来就有的功能一样,对于没有接触过自定义引擎的人,可以通过引擎扩展一键安装。
|
||||
|
||||
对于已经修改过引擎的人,由于服务包提供的是 Git Patch,所以可以让你在原有的基础上轻松应用服务包的改动,你甚至可以只选取你想要的特性进行应用。
|
||||
对于已经修改过引擎的人,由于增强包提供的是 Git Patch,所以可以让你在原有的基础上轻松应用增强包的改动,你甚至可以只选取你想要的特性进行应用。
|
||||
|
||||
### 启动 Cocos Creator 报 Error: Can not parse this input:undefined 错误
|
||||
|
||||
这是你可能忘记安装配套的引擎扩展,所以没有找到服务包的内置资源导致的报错。
|
||||
这是你可能忘记安装配套的引擎扩展,所以没有找到增强包的内置资源导致的报错。
|
||||
|
@ -18,7 +18,7 @@ description: "在游戏开发中享受不用关注 Draw Call 的快乐。"
|
||||
|
||||
其根本原因是纹理是使用 uniform 变量传给着色器的,而需要合并批次的话不允许每次渲染都拥有不同的 uniform 变量值。
|
||||
|
||||
服务包实现的是先设置多个 uniform 变量,比如将 8 张纹理写入到 "texture1" "texture2" "texture3"... 的 8 个 uniform 变量中,然后在着色器里再判断应该在渲染时使用哪个 uniform 变量。
|
||||
增强包实现的是先设置多个 uniform 变量,比如将 8 张纹理写入到 "texture1" "texture2" "texture3"... 的 8 个 uniform 变量中,然后在着色器里再判断应该在渲染时使用哪个 uniform 变量。
|
||||
|
||||
这样的话如果所有渲染都只用这 8 张纹理,就都能合并为 1 个批次。
|
||||
|
||||
@ -51,7 +51,7 @@ description: "在游戏开发中享受不用关注 Draw Call 的快乐。"
|
||||
|
||||
引擎只提供了在切换场景(Scene)后重置所有图集的机制来解决这个问题,但对于大部分项目来说,这种治标不治本的机制基本等于没有解决。
|
||||
|
||||
现在,服务包几乎重构了整个动态合图系统,你可以考虑重新启用动态合图了。
|
||||
现在,增强包几乎重构了整个动态合图系统,你可以考虑重新启用动态合图了。
|
||||
|
||||
:::note 提示
|
||||
|
||||
@ -83,7 +83,7 @@ cc.dynamicAtlasManager.maxFrameSize = 1024; // 推荐 512、1024 甚至 2048
|
||||
|
||||
:::tip
|
||||
|
||||
服务包会自动将图集的最大数量调整至(设备能同时采样纹理数 - Char 缓存模式自动合批图集数),这个值默认为 `7`。
|
||||
增强包会自动将图集的最大数量调整至(设备能同时采样纹理数 - Char 缓存模式自动合批图集数),这个值默认为 `7`。
|
||||
|
||||
:::
|
||||
|
||||
@ -95,7 +95,7 @@ cc.dynamicAtlasManager.maxFrameSize = 1024; // 推荐 512、1024 甚至 2048
|
||||
|
||||
### 更加细致地优化图集的使用效率
|
||||
|
||||
除了通过调整纹理的 `packable` 属性可以控制纹理是否会参与动态合图之外,服务包提供了**控制组件是否默认参与动态合图,控制单个组件是否参与动态合图**的新特性。
|
||||
除了通过调整纹理的 `packable` 属性可以控制纹理是否会参与动态合图之外,增强包提供了**控制组件是否默认参与动态合图,控制单个组件是否参与动态合图**的新特性。
|
||||
|
||||
可前往 [动态合图](../user-guide/dynamic-batcher/dynamic-batcher-intro.mdx) 的文档了解详情。
|
||||
|
||||
@ -118,7 +118,7 @@ cc.dynamicAtlasManager.maxFrameSize = 1024; // 推荐 512、1024 甚至 2048
|
||||
|
||||
- Char 缓存模式的缺点:还是无法复用,并且只有一张图集,图集用完则直接无法渲染,应该没人能接受游戏可能跑着跑着字就全部消失了的情况。
|
||||
|
||||
但现在你可以使用这两种缓存模式了,服务包重构了 Char 缓存模式,除了解决了不能复用的问题之外,还支持了多纹理渲染,所以既能与动态图集合批,还有最多 8 张字符图集可以使用。
|
||||
但现在你可以使用这两种缓存模式了,增强包重构了 Char 缓存模式,除了解决了不能复用的问题之外,还支持了多纹理渲染,所以既能与动态图集合批,还有最多 8 张字符图集可以使用。
|
||||
|
||||
### 脱胎换骨的 Char 缓存模式
|
||||
|
||||
|
@ -31,7 +31,7 @@ cc.macro.ENABLE_NATIVE_TTF_RENDERER = false;
|
||||
|
||||
- **如果你有手动修改 `cc.dynamicAtlasManager.maxAtlasCount` 属性,请考虑删除**
|
||||
|
||||
服务包会根据设备最大纹理数和 Char 缓存模式字符图集的相关设置自动调整动态合图的最大图集数量。
|
||||
增强包会根据设备最大纹理数和 Char 缓存模式字符图集的相关设置自动调整动态合图的最大图集数量。
|
||||
|
||||
这不意味着你不能手动调整了,而是建议你阅读新动态图集和新 Char 缓存模式相关的文档后再考虑是否有必要进行调整。
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
description: "了解并上手服务包提供的所有其他新特性。"
|
||||
description: "了解并上手增强包提供的所有其他新特性。"
|
||||
---
|
||||
|
||||
# 上手其它新特性
|
||||
@ -31,7 +31,7 @@ cc.sp.labelRetinaScale = 2; // 渲染文本时纹理的缩放倍数,默认
|
||||
|
||||
官方文档中介绍了替换 attachment 对象进行换装的方法,但如果动画中有切换 attachment 的关键帧,这种方法就失效了。
|
||||
|
||||
还有一种方法是修改 attachment 的 region 对象来进行换装,但这种方法引擎没有直接支持,所以服务包对其进行了支持。
|
||||
还有一种方法是修改 attachment 的 region 对象来进行换装,但这种方法引擎没有直接支持,所以增强包对其进行了支持。
|
||||
|
||||
只需要一句代码即可使用 cc.SpriteFrame 的数据修改 attachment 的 region 对象数据:
|
||||
|
||||
|
@ -3,6 +3,6 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 入门指南
|
||||
|
||||
这个教程会简单地介绍如何利用服务包提供的新特性来更好地使用 Cocos Creator 引擎:
|
||||
这个教程会简单地介绍如何利用增强包提供的新特性来更好地使用 Cocos Creator 引擎:
|
||||
|
||||
<DocCardList items={useCurrentSidebarCategory().items}/>
|
||||
|
@ -4,20 +4,20 @@ sidebar_position: 6
|
||||
|
||||
# 卸载指南
|
||||
|
||||
服务包不会对项目进行修改,但就像要将引擎降级一样,这种操作还是有风险的,所以我们提供两种卸载方式以供参考:
|
||||
增强包不会对项目进行修改,但就像要将引擎降级一样,这种操作还是有风险的,所以我们提供两种卸载方式以供参考:
|
||||
|
||||
:::tip 提示
|
||||
|
||||
因为原理是一样的,即使是手动安装的服务包,依然可以通过引擎扩展进行卸载,反之亦然。
|
||||
因为原理是一样的,即使是手动安装的增强包,依然可以通过引擎扩展进行卸载,反之亦然。
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
## 使用引擎扩展卸载
|
||||
|
||||
请参考 [手动卸载](#手动卸载) 中提到的 **解除代码依赖与资源依赖**,确保项目不再依赖任何服务包的特性之后再卸载。
|
||||
请参考 [手动卸载](#手动卸载) 中提到的 **解除代码依赖与资源依赖**,确保项目不再依赖任何增强包的特性之后再卸载。
|
||||
|
||||
在 Cocos Creator 的菜单栏依次点击 **扩展 - 服务包管理 - 卸载服务包** 即可。
|
||||
在 Cocos Creator 的菜单栏依次点击 **扩展 - 增强包管理 - 卸载增强包** 即可。
|
||||
|
||||
![plugin-uninstall](./assets/plugin-uninstall.png)
|
||||
|
||||
@ -28,13 +28,13 @@ sidebar_position: 6
|
||||
|
||||
### 1.代码依赖
|
||||
|
||||
如果你的是 TypeScript 项目,则可以先删除 `creator-sp.d.ts` 文件,让 TypeScript 对使用了服务包接口的代码发出报错。
|
||||
如果你的是 TypeScript 项目,则可以先删除 `creator-sp.d.ts` 文件,让 TypeScript 对使用了增强包接口的代码发出报错。
|
||||
|
||||
之后我们要确保所有代码都不再依赖服务包的特性。
|
||||
之后我们要确保所有代码都不再依赖增强包的特性。
|
||||
|
||||
### 2.资源依赖
|
||||
|
||||
服务包提供了一些内置资源,像是多纹理 Effect 着色器资源,你可以通过查找 UUID 引用将对服务包内置资源的引用全部移除。
|
||||
增强包提供了一些内置资源,像是多纹理 Effect 着色器资源,你可以通过查找 UUID 引用将对增强包内置资源的引用全部移除。
|
||||
|
||||
### 3.恢复自定义引擎与删除扩展
|
||||
|
||||
@ -42,4 +42,4 @@ sidebar_position: 6
|
||||
|
||||
点击 Cocos Creator 主界面右上角的 **编辑器** 按钮,进入到编辑器的资源目录。
|
||||
|
||||
然后使用未修改过的 `jsb-adapter` 替换掉编辑器的 `Resources/builtin/jsb-adapter` 目录,最后将服务包的引擎扩展(比如 `service-pack-support` 目录)删除。
|
||||
然后使用未修改过的 `jsb-adapter` 替换掉编辑器的 `Resources/builtin/jsb-adapter` 目录,最后将增强包的引擎扩展(比如 `enhance-kit-support` 目录)删除。
|
||||
|
@ -5,9 +5,9 @@ sidebar_position: 7
|
||||
# 更新日志
|
||||
|
||||
---
|
||||
## Service Pack v1.0.0
|
||||
## Enhance Kit v1.0.0
|
||||
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载服务包](https://github.com/smallmain/cocos-service-pack/releases/tag/v1.0.0)
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载增强包](https://github.com/smallmain/cocos-enhance-kit/releases/tag/v1.0.0)
|
||||
|
||||
- **[新特性] 支持多纹理渲染**
|
||||
- **[新特性] 重构动态图集,支持多个新特性**
|
||||
|
@ -3,7 +3,7 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 动态合图
|
||||
|
||||
动态合图是一个非常好的合批手段,但是在之前引擎实现的比较简陋,所以服务包重构了动态合图系统,在原有功能基础上增加了许多重要特性。
|
||||
动态合图是一个非常好的合批手段,但是在之前引擎实现的比较简陋,所以增强包重构了动态合图系统,在原有功能基础上增加了许多重要特性。
|
||||
|
||||
比如支持复用废弃碎图空间,优化了图集装箱算法,所有图集作为一个整体进行管理等等,你可以阅读下面的文档了解详情:
|
||||
|
||||
|
@ -5,7 +5,7 @@ description: "随心所欲地控制动态合图的使用。"
|
||||
|
||||
# 手动管理合图
|
||||
|
||||
有时候你可能需要更细致地去控制哪些纹理加入动态图集,考虑到这一点,服务包在保留原来所有接口的基础上完全开放了动态图集相关的所有接口。
|
||||
有时候你可能需要更细致地去控制哪些纹理加入动态图集,考虑到这一点,增强包在保留原来所有接口的基础上完全开放了动态图集相关的所有接口。
|
||||
|
||||
---
|
||||
## 访问图集数组与已用空间集合
|
||||
@ -31,7 +31,7 @@ cc.dynamicAtlasManager.rects
|
||||
cc.dynamicAtlasManager.insertSpriteFrame(spriteFrame);
|
||||
```
|
||||
|
||||
可以将 SpriteFrame 所使用的纹理添加到动态图集,这是引擎原有接口,但服务包对其做了一点修改,这个接口不再会检查纹理的 `packable` 属性,也就是变成了一个强制添加的接口。
|
||||
可以将 SpriteFrame 所使用的纹理添加到动态图集,这是引擎原有接口,但增强包对其做了一点修改,这个接口不再会检查纹理的 `packable` 属性,也就是变成了一个强制添加的接口。
|
||||
|
||||
这样设计的原因是你可以将所有纹理的 `packable` 都设为 `false`,或者直接将 `maxFrameSize` 设为 `0`,然后完全手动地进行动态合图。
|
||||
|
||||
|
@ -11,7 +11,7 @@ description: "了解如何手动进行多纹理合批。"
|
||||
|
||||
但是这种完全手动的方式实现起来比较麻烦,比如你需要使用一个纹理时,还得找到该纹理所在的材质并设置到渲染组件上。
|
||||
|
||||
为了能更方便地进行多纹理合批,服务包封装了一个自动切换多纹理材质的机制与多纹理合批管理类 `cc.sp.MultiBatcher`。
|
||||
为了能更方便地进行多纹理合批,增强包封装了一个自动切换多纹理材质的机制与多纹理合批管理类 `cc.sp.MultiBatcher`。
|
||||
|
||||
动态图集与字符图集使用的是一个全局的多纹理合批管理器实例,可以通过 `cc.sp.multiBatcher` 访问。
|
||||
|
||||
|
@ -6,7 +6,7 @@ toc_max_heading_level: 5
|
||||
|
||||
# 多纹理材质
|
||||
|
||||
服务包在引擎内置了可以直接使用的多纹理 Effect 着色器资源,并且你可以直接使用多纹理材质而不需要编写任何代码。
|
||||
增强包在引擎内置了可以直接使用的多纹理 Effect 着色器资源,并且你可以直接使用多纹理材质而不需要编写任何代码。
|
||||
|
||||
---
|
||||
## 创建多纹理材质
|
||||
@ -53,7 +53,7 @@ Spine 组件使用多纹理材质时会强制勾选 `enableBatch`,因为不开
|
||||
|
||||
除了直接在内置着色器的基础上修改之外,任何着色器中如果存在一个宏 `USE_MULTI_TEXTURE = true`,则会被认为是多纹理材质。
|
||||
|
||||
[演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html) 中有自定义材质的示范代码。
|
||||
[演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html) 中有自定义材质的示范代码。
|
||||
|
||||
:::tip 提示
|
||||
|
||||
@ -70,7 +70,7 @@ Spine 组件使用多纹理材质时会强制勾选 `enableBatch`,因为不开
|
||||
---
|
||||
## 通过代码设置纹理插槽
|
||||
|
||||
每个多纹理材质都对应着一个多纹理材质管理器,这是服务包新增的一个工具类,其主要用处是便捷、高性能地管理多纹理材质上面的纹理插槽。
|
||||
每个多纹理材质都对应着一个多纹理材质管理器,这是增强包新增的一个工具类,其主要用处是便捷、高性能地管理多纹理材质上面的纹理插槽。
|
||||
|
||||
通过 `material.getMultiHandler()` 可以获取到管理器实例,请使用这个实例来操作多纹理材质的纹理插槽。
|
||||
|
||||
|
@ -3,7 +3,7 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# Spine
|
||||
|
||||
服务包解决了 Spine 在 Cocos Creator 中的三大痛点:
|
||||
增强包解决了 Spine 在 Cocos Creator 中的三大痛点:
|
||||
|
||||
- 不参与动态合图
|
||||
- 无法与其它组件合批
|
||||
|
@ -79,7 +79,7 @@ a.getRegion(slotName, attachmentName);
|
||||
|
||||
如果你只想替换其中一个组件,那么就可以克隆这个 SkeletonData 让每个组件都使用不同的 SkeletonData 实例进行渲染。
|
||||
|
||||
服务包提供了一个克隆数据的接口来实现这个需求:
|
||||
增强包提供了一个克隆数据的接口来实现这个需求:
|
||||
|
||||
```js
|
||||
const clonedSkeletonData = skeletonData.clone();
|
||||
@ -88,4 +88,4 @@ const clonedSkeletonData = skeletonData.clone();
|
||||
使用以上代码克隆 SkeletonData 后再进行换装,赋值给 Spine 组件,那么替换操作就只会对这个 Spine 组件生效。
|
||||
|
||||
---
|
||||
以上所有用法你可以在 [演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html) 中找到示范代码。
|
||||
以上所有用法你可以在 [演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html) 中找到示范代码。
|
||||
|
@ -69,13 +69,13 @@ class Example extends cc.Component {
|
||||
|
||||
一般情况下,代码位置 2 是当用户脚本被加载时就会被执行,而代码位置 1 可能需要等到引擎首场景加载后的某个时间执行。
|
||||
|
||||
服务包会自动调整动态图集的最大数量,这个调整的时机是在代码位置 2 之后的,所以比如你的项目对 Char 缓存模式使用量比较大时,想尝试将动态图集最大数量调整为 6,自动合批的字符图集数量调整为 2,那么你只需要在代码位置 2 修改字符图集自动多纹理合批的数量:
|
||||
增强包会自动调整动态图集的最大数量,这个调整的时机是在代码位置 2 之后的,所以比如你的项目对 Char 缓存模式使用量比较大时,想尝试将动态图集最大数量调整为 6,自动合批的字符图集数量调整为 2,那么你只需要在代码位置 2 修改字符图集自动多纹理合批的数量:
|
||||
|
||||
```js
|
||||
cc.sp.charAtlasAutoBatchCount = 2;
|
||||
```
|
||||
|
||||
之后服务包会自动将动态图集的最大数量调整为 `8 - 2`,即 6。
|
||||
之后增强包会自动将动态图集的最大数量调整为 `8 - 2`,即 6。
|
||||
|
||||
这个自动调整的时机并不意味着你在代码位置 2 修改动态图集的最大数量是无效的,因为一开始动态图集的最大数量为 `-1`,你打印一下可以看到
|
||||
|
||||
@ -83,7 +83,7 @@ cc.sp.charAtlasAutoBatchCount = 2;
|
||||
console.log(cc.dynamicAtlasManager.maxAtlasCount); // -1
|
||||
```
|
||||
|
||||
如果你在代码位置 2 修改了动态图集的最大数量,服务包就不会调整该值了。
|
||||
如果你在代码位置 2 修改了动态图集的最大数量,增强包就不会调整该值了。
|
||||
|
||||
```js
|
||||
cc.dynamicAtlasManager.maxAtlasCount = 5;
|
||||
@ -100,7 +100,7 @@ cc.sp.charAtlasAutoBatchCount = 3;
|
||||
|
||||
比如上面这个设置,这会使得引擎需要用 2 个材质进行渲染,但是可用的动态图集扩充到了 13 张,Char 能自动合批的图集数量扩充到了 3 张,对于某些项目来说可能并不是一件坏事。
|
||||
|
||||
服务包使用这个 “7 + 1” 的默认值有以下几点原因:
|
||||
增强包使用这个 “7 + 1” 的默认值有以下几点原因:
|
||||
|
||||
- 引擎原本就只有 1 张 Char 字符图集
|
||||
- 大多数项目使用 1 张 Char 字符图集是足够的
|
||||
|
@ -3,6 +3,6 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 文本渲染
|
||||
|
||||
文本渲染一般是游戏性能优化需要重点关注的地方,并且其显示效果也非常重要,所以服务包提供了以下新特性:
|
||||
文本渲染一般是游戏性能优化需要重点关注的地方,并且其显示效果也非常重要,所以增强包提供了以下新特性:
|
||||
|
||||
<DocCardList items={useCurrentSidebarCategory().items}/>
|
||||
|
@ -3,14 +3,14 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 使用指南
|
||||
|
||||
在 [入门教程](../start-guide/start-guide-intro.mdx) 里,你应该对如何更好地使用安装服务包后的引擎已经有所了解了。
|
||||
在 [入门教程](../start-guide/start-guide-intro.mdx) 里,你应该对如何更好地使用安装增强包后的引擎已经有所了解了。
|
||||
|
||||
通过该指南你可以更详细地了解服务包为引擎添加的每个特性与改动:
|
||||
通过该指南你可以更详细地了解增强包为引擎添加的每个特性与改动:
|
||||
|
||||
<DocCardList items={useCurrentSidebarCategory().items}/>
|
||||
|
||||
:::caution 注意
|
||||
|
||||
在几乎所有平台上引擎都是使用 WebGL 渲染模式,所以服务包的大部分特性都未支持引擎的 Canvas 渲染模式,部分特性在 3D 节点下不生效。
|
||||
在几乎所有平台上引擎都是使用 WebGL 渲染模式,所以增强包的大部分特性都未支持引擎的 Canvas 渲染模式,部分特性在 3D 节点下不生效。
|
||||
|
||||
:::
|
||||
|
@ -6,10 +6,10 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula');
|
||||
|
||||
/** @type {import('@docusaurus/types').Config} */
|
||||
const config = {
|
||||
title: 'Cocos Service Pack',
|
||||
tagline: '提供 Cocos Creator 引擎特性增强、修复与优化的开源非官方服务包',
|
||||
title: 'Cocos Enhance Kit',
|
||||
tagline: '提供 Cocos Creator 引擎特性增强、修复与优化的开源非官方增强包',
|
||||
url: 'https://smallmain.github.io',
|
||||
baseUrl: '/cocos-service-pack/',
|
||||
baseUrl: '/cocos-enhance-kit/',
|
||||
onBrokenLinks: 'throw',
|
||||
onBrokenMarkdownLinks: 'warn',
|
||||
favicon: 'img/favicon.ico',
|
||||
@ -17,7 +17,7 @@ const config = {
|
||||
// GitHub pages deployment config.
|
||||
// If you aren't using GitHub pages, you don't need these.
|
||||
organizationName: 'smallmain', // Usually your GitHub org/user name.
|
||||
projectName: 'cocos-service-pack', // Usually your repo name.
|
||||
projectName: 'cocos-enhance-kit', // Usually your repo name.
|
||||
deploymentBranch: 'gh-pages',
|
||||
|
||||
// Even if you don't use internalization, you can use this field to set useful
|
||||
@ -56,10 +56,10 @@ const config = {
|
||||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||||
({
|
||||
navbar: {
|
||||
title: 'Cocos Service Pack',
|
||||
title: 'Cocos Enhance Kit',
|
||||
// style: 'primary',
|
||||
logo: {
|
||||
alt: 'Cocos Service Pack',
|
||||
alt: 'Cocos Enhance Kit',
|
||||
src: 'img/logo.png',
|
||||
},
|
||||
items: [
|
||||
@ -76,7 +76,7 @@ const config = {
|
||||
label: '文档',
|
||||
},
|
||||
{
|
||||
href: 'https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html',
|
||||
href: 'https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html',
|
||||
label: '演示',
|
||||
position: 'right',
|
||||
},
|
||||
@ -88,7 +88,7 @@ const config = {
|
||||
},
|
||||
// { to: '/blog', label: 'Blog', position: 'left' },
|
||||
{
|
||||
href: 'https://github.com/smallmain/cocos-service-pack',
|
||||
href: 'https://github.com/smallmain/cocos-enhance-kit',
|
||||
label: '加星鼓励',
|
||||
position: 'right',
|
||||
className: 'header-github-link',
|
||||
|
@ -21,7 +21,7 @@ const FeatureList: FeatureItem[] = [
|
||||
title: '完全开源',
|
||||
description: (
|
||||
<>
|
||||
服务包是完全开源的项目,包括对原生引擎、JavaScript 引擎的改动都附有详细的原理文档。
|
||||
增强包是完全开源的项目,包括对原生引擎、JavaScript 引擎的改动都附有详细的原理文档。
|
||||
</>
|
||||
),
|
||||
},
|
||||
|
@ -30,14 +30,14 @@ function HomepageHeader() {
|
||||
</Link>
|
||||
<Link
|
||||
className="button button--outline button--primary button--lg"
|
||||
href='https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html'
|
||||
href='https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html'
|
||||
style={{ marginRight: 20 }}
|
||||
>
|
||||
查看演示
|
||||
</Link>
|
||||
<Link
|
||||
className="button button--secondary button--lg"
|
||||
href='https://github.com/smallmain/cocos-service-pack'>
|
||||
href='https://github.com/smallmain/cocos-enhance-kit'>
|
||||
<svg style={{ marginRight: 8, marginBottom: -4 }} stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" className="GithubIcon_3htU" height="1.2em" width="1.2em" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
|
||||
GitHub
|
||||
</Link>
|
||||
|
@ -1744,7 +1744,7 @@
|
||||
[
|
||||
[
|
||||
4,
|
||||
"源码:https://github.com/smallmain/cocos-service-pack/tree/master/demo",
|
||||
"源码:https://github.com/smallmain/cocos-enhance-kit/tree/master/demo",
|
||||
16,
|
||||
20,
|
||||
1,
|
||||
@ -2531,4 +2531,4 @@
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -1389,7 +1389,7 @@
|
||||
[
|
||||
[
|
||||
15,
|
||||
"- Cocos Service Pack Demo -",
|
||||
"- Cocos Enhance Kit Demo -",
|
||||
14,
|
||||
16,
|
||||
1,
|
||||
@ -3177,4 +3177,4 @@
|
||||
[]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Cocos Creator | Cocos-Service-Pack-Demo</title>
|
||||
<title>Cocos Creator | Cocos-Enhance-Kit-Demo</title>
|
||||
|
||||
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1, minimum-scale=1,maximum-scale=1"/>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes"/>
|
||||
@ -20,7 +20,7 @@
|
||||
<link rel="icon" href="favicon.8de18.ico"/>
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="header">Cocos-Service-Pack-Demo</h1>
|
||||
<h1 class="header">Cocos-Enhance-Kit-Demo</h1>
|
||||
|
||||
<div id="GameDiv" style="width:960px; height: 600px;">
|
||||
<canvas id="GameCanvas" width="960" height="600"></canvas>
|
||||
|
@ -1744,7 +1744,7 @@
|
||||
[
|
||||
[
|
||||
4,
|
||||
"源码:https://github.com/smallmain/cocos-service-pack/tree/master/demo",
|
||||
"源码:https://github.com/smallmain/cocos-enhance-kit/tree/master/demo",
|
||||
16,
|
||||
20,
|
||||
1,
|
||||
@ -2531,4 +2531,4 @@
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -1389,7 +1389,7 @@
|
||||
[
|
||||
[
|
||||
15,
|
||||
"- Cocos Service Pack Demo -",
|
||||
"- Cocos Enhance Kit Demo -",
|
||||
14,
|
||||
16,
|
||||
1,
|
||||
@ -3177,4 +3177,4 @@
|
||||
[]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Cocos Creator | Cocos-Service-Pack-Demo</title>
|
||||
<title>Cocos Creator | Cocos-Enhance-Kit-Demo</title>
|
||||
|
||||
<!--http://www.html5rocks.com/en/mobile/mobifying/-->
|
||||
<meta name="viewport"
|
||||
|
@ -8,21 +8,21 @@ description: "推荐使用此方式进行一键安装。"
|
||||
---
|
||||
## 前往 Cocos Store 下载
|
||||
|
||||
在 Cocos Store 搜索名为 **Cocos Service Pack** 的引擎扩展,或者 [点此跳转](https://store.cocos.com/app/detail/3824)。
|
||||
在 Cocos Store 搜索名为 **Cocos Enhance Kit** 的引擎扩展,或者 [点此跳转](https://store.cocos.com/app/detail/3824)。
|
||||
|
||||
这个扩展不是免费的,**但其唯一的作用就是帮助你管理服务包的版本(查看、安装和卸载服务包)。**
|
||||
这个扩展不是免费的,**但其唯一的作用就是帮助你管理增强包的版本(查看、安装和卸载增强包)。**
|
||||
|
||||
:::tip 常见问题
|
||||
|
||||
- **Service Pack 不是开源项目吗???**
|
||||
- **Enhance Kit 不是开源项目吗???**
|
||||
|
||||
Service Pack 是完全开源的项目,这个引擎扩展只会为你提供自动化的安装方式,以后也只会有版本管理方面的功能。
|
||||
Enhance Kit 是完全开源的项目,这个引擎扩展只会为你提供自动化的安装方式,以后也只会有版本管理方面的功能。
|
||||
|
||||
你可以选择 [手动安装](./installation-manual.md),也只需要几步即可完成。
|
||||
|
||||
- **如何反馈有关这个扩展的问题或建议**
|
||||
|
||||
若遇到与这个扩展相关的问题或者建议,不要在服务包的 Github 仓库反馈,请在扩展的 **商店评论区** 进行反馈。
|
||||
若遇到与这个扩展相关的问题或者建议,不要在增强包的 Github 仓库反馈,请在扩展的 **商店评论区** 进行反馈。
|
||||
|
||||
因为这个扩展的收益是个人的,所以也只由个人维护。
|
||||
|
||||
@ -31,16 +31,16 @@ description: "推荐使用此方式进行一键安装。"
|
||||
---
|
||||
## 查询信息
|
||||
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 服务包管理 - 查看信息**,会打印当前环境信息。
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 增强包管理 - 查看信息**,会打印当前环境信息。
|
||||
|
||||
![plugin-info](./assets/plugin-info.png)
|
||||
|
||||
你可以看到当前引擎版本支持一键安装的服务包版本,已安装的服务包版本等信息。
|
||||
你可以看到当前引擎版本支持一键安装的增强包版本,已安装的增强包版本等信息。
|
||||
|
||||
---
|
||||
## 一键安装
|
||||
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 服务包管理 - 安装服务包 - 安装最新版本**,会自动开始安装服务包。
|
||||
安装好扩展后,可在 Cocos Creator 的菜单栏依次点击 **扩展 - 增强包管理 - 安装增强包 - 安装最新版本**,会自动开始安装增强包。
|
||||
|
||||
![plugin-install](./assets/plugin-install.png)
|
||||
|
||||
@ -54,15 +54,15 @@ description: "推荐使用此方式进行一键安装。"
|
||||
|
||||
![installedconsole](./assets/installed-console.png)
|
||||
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解服务包为你的开发都带来了哪些新特性!
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解增强包为你的开发都带来了哪些新特性!
|
||||
|
||||
---
|
||||
## 更多特性
|
||||
|
||||
在服务包发布新版本之后,你可能还没做好升级的准备,这时候你可以点击 **扩展 - 服务包管理 - 安装服务包 - 安装其它版本** 安装服务包的历史版本。
|
||||
在增强包发布新版本之后,你可能还没做好升级的准备,这时候你可以点击 **扩展 - 增强包管理 - 安装增强包 - 安装其它版本** 安装增强包的历史版本。
|
||||
|
||||
该扩展会收录服务包发布过的所有版本。
|
||||
该扩展会收录增强包发布过的所有版本。
|
||||
|
||||
服务包只会适配引擎的最新版本,如果你需要在其它引擎版本上安装服务包,一般需要手动使用 Git Patch。
|
||||
增强包只会适配引擎的最新版本,如果你需要在其它引擎版本上安装增强包,一般需要手动使用 Git Patch。
|
||||
|
||||
之后扩展可能会额外适配更多的引擎版本,这取决于大家具体的需求如何。
|
||||
|
@ -3,11 +3,11 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 安装指南
|
||||
|
||||
服务包主要使用 [自定义引擎](https://docs.cocos.com/creator/2.4/manual/zh/advanced-topics/engine-customization.html) 的方式对引擎进行修改。
|
||||
增强包主要使用 [自定义引擎](https://docs.cocos.com/creator/2.4/manual/zh/advanced-topics/engine-customization.html) 的方式对引擎进行修改。
|
||||
|
||||
但由于自定义引擎不能添加内置资源与扩展内置组件的 Inspector,所以还需要安装配套的引擎扩展。
|
||||
|
||||
对于使用 TypeScript 的项目,服务包提供了 `creator-sp.d.ts` 类型提示文件。
|
||||
对于使用 TypeScript 的项目,增强包提供了 `creator-sp.d.ts` 类型提示文件。
|
||||
|
||||
以下是两种常用的安装方式:
|
||||
|
||||
|
@ -5,14 +5,14 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
# 手动安装
|
||||
|
||||
## Service Pack v1.0.0
|
||||
## Enhance Kit v1.0.0
|
||||
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载服务包](https://github.com/smallmain/cocos-service-pack/releases/tag/v1.0.0)
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载增强包](https://github.com/smallmain/cocos-enhance-kit/releases/tag/v1.0.0)
|
||||
|
||||
---
|
||||
## 标准安装
|
||||
|
||||
**请确保您的项目所使用的引擎版本与服务包适配的引擎版本一致,否则请使用 [补丁安装](#补丁安装)。**
|
||||
**请确保您的项目所使用的引擎版本与增强包适配的引擎版本一致,否则请使用 [补丁安装](#补丁安装)。**
|
||||
|
||||
:::tip 提示
|
||||
|
||||
@ -24,7 +24,7 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
### 1.替换自定义引擎
|
||||
|
||||
下载服务包后,解压压缩包可以看到压缩包内的 `engine` `cocos2d-x` `jsb-adapter` 这三个目录分别是已经整理好的 **JavaScript 引擎**、**Cocos2d-x 引擎** 和 **jsb-adpater**。
|
||||
下载增强包后,解压压缩包可以看到压缩包内的 `engine` `cocos2d-x` `jsb-adapter` 这三个目录分别是已经整理好的 **JavaScript 引擎**、**Cocos2d-x 引擎** 和 **jsb-adpater**。
|
||||
|
||||
接着打开 Cocos Creator 菜单的 **项目 - 项目设置 - 自定义引擎**。
|
||||
|
||||
@ -50,13 +50,13 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
**请勿将此引擎扩展与 [使用引擎扩展安装](./installation-engine-plugin) 中的引擎扩展混淆!**
|
||||
|
||||
**该扩展提供了必需的内置资源,是服务包开源的一部分,请勿同时安装两个引擎扩展,这会引起冲突!**
|
||||
**该扩展提供了必需的内置资源,是增强包开源的一部分,请勿同时安装两个引擎扩展,这会引起冲突!**
|
||||
|
||||
:::
|
||||
|
||||
压缩包内 `service-pack-support` 目录即是扩展本身,将其放到项目的 `packages` 目录即可。
|
||||
压缩包内 `enhance-kit-support` 目录即是扩展本身,将其放到项目的 `packages` 目录即可。
|
||||
|
||||
服务包需要使用名为 `sp` 的 AssetBundle 存放资源,如果你的项目有使用 AssetBundle,请**确保该名称未被占用**。
|
||||
增强包需要使用名为 `sp` 的 AssetBundle 存放资源,如果你的项目有使用 AssetBundle,请**确保该名称未被占用**。
|
||||
|
||||
没有必要将这个 Asset Bundle 设为远程包或者 Zip 压缩,里面只有 Effect 着色器资源。
|
||||
|
||||
@ -78,14 +78,14 @@ description: "需掌握一定的自定义引擎知识。"
|
||||
|
||||
![](./assets/installed-console.png)
|
||||
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解服务包为你的开发都带来了哪些新特性!
|
||||
接下来推荐你从 [入门教程](../start-guide/start-guide-intro.mdx) 开始了解增强包为你的开发都带来了哪些新特性!
|
||||
|
||||
---
|
||||
## 补丁安装
|
||||
|
||||
:::caution 提示
|
||||
|
||||
**建议至少将 Cocos Creator 升级到 v2.4.x 版本,服务包所做的改动不保证对 v2.4 版本以下的兼容性。**
|
||||
**建议至少将 Cocos Creator 升级到 v2.4.x 版本,增强包所做的改动不保证对 v2.4 版本以下的兼容性。**
|
||||
|
||||
补丁安装需要掌握一定的 [Git](https://git-scm.com/doc) 知识和修改引擎源码的能力。
|
||||
|
||||
|
@ -6,19 +6,21 @@ hide_title: true
|
||||
|
||||
![logo](/img/logo2.png)
|
||||
|
||||
这是一个提供 Cocos Creator 引擎特性增强、修复与优化的**开源非官方服务包**。
|
||||
这是一个提供 Cocos Creator 引擎特性增强、修复与优化的**开源非官方增强包**。
|
||||
|
||||
该项目使用自定义引擎的方式在符合原始引擎架构设计的基础上为 Cocos Creator 引擎加入新的特性、修复已知问题以及性能优化。
|
||||
|
||||
正因为如此,服务包中的大部分特性能像升级引擎版本一样无需改动项目代码即可生效。
|
||||
正因为如此,增强包中的大部分特性能像升级引擎版本一样无需改动项目代码即可生效。
|
||||
|
||||
:::info 项目的起源
|
||||
|
||||
2021 年 2 月,Cocos 发布 Cocos Creator 3.0,之后不会再开发 2.x 版本的新特性,但 2.x 在一些方面还并不完善,所以这个非官方的引擎“魔改”合集应运而生。
|
||||
|
||||
给项目取名的时候想到相似的事情发生在 2014 年 4 月,官方停止了对 Windows XP 的维护,之后 Harkaz 发布了一个非官方服务包 Service Pack 4 (SP4)。
|
||||
给项目取名的时候想到相似的事情发生在 2014 年 4 月,官方停止了对 Windows XP 的维护,之后 Harkaz 发布了一个非官方增强包 Service Pack 4 (SP4)。
|
||||
|
||||
受到这个命名的启发,遂项目取名为 Service Pack。
|
||||
受到这个命名的启发,遂想将项目取名为 Service Pack。
|
||||
|
||||
但是这个名字有点怪怪的,最后在 麒麟子(Kylins) 的帮助下,我们为项目想到了一个更好的名字,Enhance Kit,再次感谢 麒麟子(Kylins)。
|
||||
|
||||
:::
|
||||
|
||||
@ -41,13 +43,13 @@ hide_title: true
|
||||
|
||||
## 功能演示
|
||||
|
||||
[Web Desktop 演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html)
|
||||
[Web Desktop 演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html)
|
||||
|
||||
[Web Mobile 演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-mobile/index.html)(请将设备横屏)
|
||||
[Web Mobile 演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-mobile/index.html)(请将设备横屏)
|
||||
|
||||
:::note 提示
|
||||
|
||||
服务包对引擎的改动完全开源,每个改动会带有原理说明文档,当你发现问题时请与我们进行反馈,如果你有兴致,可以默默帅气地提交一个 PR,帮助我们一起完善这个项目。
|
||||
增强包对引擎的改动完全开源,每个改动会带有原理说明文档,当你发现问题时请与我们进行反馈,如果你有兴致,可以默默帅气地提交一个 PR,帮助我们一起完善这个项目。
|
||||
|
||||
:::
|
||||
|
||||
@ -57,7 +59,7 @@ hide_title: true
|
||||
|
||||
## 更新日志
|
||||
|
||||
### Service Pack v1.0.0
|
||||
### Enhance Kit v1.0.0
|
||||
|
||||
- **[新特性] 支持多纹理渲染**
|
||||
- **[新特性] 重构动态图集,支持多个新特性**
|
||||
@ -70,7 +72,7 @@ hide_title: true
|
||||
- [修复] CHAR 缓存模式 hash 计算可能会有重复的问题
|
||||
- [调整] 默认禁用 Label 原生 TTF 渲染器
|
||||
|
||||
[点此](https://smallmain.gitee.io/cocos-service-pack/docs/update-log) 查看所有的更新日志。
|
||||
[点此](https://smallmain.gitee.io/cocos-enhance-kit/docs/update-log) 查看所有的更新日志。
|
||||
|
||||
## 贡献指南
|
||||
|
||||
@ -94,12 +96,12 @@ hide_title: true
|
||||
|
||||
以上问题我们都思考过,首先,现在引擎的 2.x 版本已经停止了更新(仅做一些维护工作),也就是说修改引擎不会遇到在官方新版本发布后需要用大量时间去适配的情况。
|
||||
|
||||
其次,即使服务包的所有改动都能做成一个插件脚本,但无法兼容原生平台,并且一般都需要大量拷贝代码,包体会增大,可维护性会大幅降低。
|
||||
其次,即使增强包的所有改动都能做成一个插件脚本,但无法兼容原生平台,并且一般都需要大量拷贝代码,包体会增大,可维护性会大幅降低。
|
||||
|
||||
最后,我们希望它接近 “原生” 的使用体验,就像引擎本来就有的功能一样,对于没有接触过自定义引擎的人,可以通过引擎扩展一键安装。
|
||||
|
||||
对于已经修改过引擎的人,由于服务包提供的是 Git Patch,所以可以让你在原有的基础上轻松应用服务包的改动,你甚至可以只选取你想要的特性进行应用。
|
||||
对于已经修改过引擎的人,由于增强包提供的是 Git Patch,所以可以让你在原有的基础上轻松应用增强包的改动,你甚至可以只选取你想要的特性进行应用。
|
||||
|
||||
### 启动 Cocos Creator 报 Error: Can not parse this input:undefined 错误
|
||||
|
||||
这是你可能忘记安装配套的引擎扩展,所以没有找到服务包的内置资源导致的报错。
|
||||
这是你可能忘记安装配套的引擎扩展,所以没有找到增强包的内置资源导致的报错。
|
||||
|
@ -18,7 +18,7 @@ description: "在游戏开发中享受不用关注 Draw Call 的快乐。"
|
||||
|
||||
其根本原因是纹理是使用 uniform 变量传给着色器的,而需要合并批次的话不允许每次渲染都拥有不同的 uniform 变量值。
|
||||
|
||||
服务包实现的是先设置多个 uniform 变量,比如将 8 张纹理写入到 "texture1" "texture2" "texture3"... 的 8 个 uniform 变量中,然后在着色器里再判断应该在渲染时使用哪个 uniform 变量。
|
||||
增强包实现的是先设置多个 uniform 变量,比如将 8 张纹理写入到 "texture1" "texture2" "texture3"... 的 8 个 uniform 变量中,然后在着色器里再判断应该在渲染时使用哪个 uniform 变量。
|
||||
|
||||
这样的话如果所有渲染都只用这 8 张纹理,就都能合并为 1 个批次。
|
||||
|
||||
@ -51,7 +51,7 @@ description: "在游戏开发中享受不用关注 Draw Call 的快乐。"
|
||||
|
||||
引擎只提供了在切换场景(Scene)后重置所有图集的机制来解决这个问题,但对于大部分项目来说,这种治标不治本的机制基本等于没有解决。
|
||||
|
||||
现在,服务包几乎重构了整个动态合图系统,你可以考虑重新启用动态合图了。
|
||||
现在,增强包几乎重构了整个动态合图系统,你可以考虑重新启用动态合图了。
|
||||
|
||||
:::note 提示
|
||||
|
||||
@ -83,7 +83,7 @@ cc.dynamicAtlasManager.maxFrameSize = 1024; // 推荐 512、1024 甚至 2048
|
||||
|
||||
:::tip
|
||||
|
||||
服务包会自动将图集的最大数量调整至(设备能同时采样纹理数 - Char 缓存模式自动合批图集数),这个值默认为 `7`。
|
||||
增强包会自动将图集的最大数量调整至(设备能同时采样纹理数 - Char 缓存模式自动合批图集数),这个值默认为 `7`。
|
||||
|
||||
:::
|
||||
|
||||
@ -95,7 +95,7 @@ cc.dynamicAtlasManager.maxFrameSize = 1024; // 推荐 512、1024 甚至 2048
|
||||
|
||||
### 更加细致地优化图集的使用效率
|
||||
|
||||
除了通过调整纹理的 `packable` 属性可以控制纹理是否会参与动态合图之外,服务包提供了**控制组件是否默认参与动态合图,控制单个组件是否参与动态合图**的新特性。
|
||||
除了通过调整纹理的 `packable` 属性可以控制纹理是否会参与动态合图之外,增强包提供了**控制组件是否默认参与动态合图,控制单个组件是否参与动态合图**的新特性。
|
||||
|
||||
可前往 [动态合图](../user-guide/dynamic-batcher/dynamic-batcher-intro.mdx) 的文档了解详情。
|
||||
|
||||
@ -118,7 +118,7 @@ cc.dynamicAtlasManager.maxFrameSize = 1024; // 推荐 512、1024 甚至 2048
|
||||
|
||||
- Char 缓存模式的缺点:还是无法复用,并且只有一张图集,图集用完则直接无法渲染,应该没人能接受游戏可能跑着跑着字就全部消失了的情况。
|
||||
|
||||
但现在你可以使用这两种缓存模式了,服务包重构了 Char 缓存模式,除了解决了不能复用的问题之外,还支持了多纹理渲染,所以既能与动态图集合批,还有最多 8 张字符图集可以使用。
|
||||
但现在你可以使用这两种缓存模式了,增强包重构了 Char 缓存模式,除了解决了不能复用的问题之外,还支持了多纹理渲染,所以既能与动态图集合批,还有最多 8 张字符图集可以使用。
|
||||
|
||||
### 脱胎换骨的 Char 缓存模式
|
||||
|
||||
|
@ -31,7 +31,7 @@ cc.macro.ENABLE_NATIVE_TTF_RENDERER = false;
|
||||
|
||||
- **如果你有手动修改 `cc.dynamicAtlasManager.maxAtlasCount` 属性,请考虑删除**
|
||||
|
||||
服务包会根据设备最大纹理数和 Char 缓存模式字符图集的相关设置自动调整动态合图的最大图集数量。
|
||||
增强包会根据设备最大纹理数和 Char 缓存模式字符图集的相关设置自动调整动态合图的最大图集数量。
|
||||
|
||||
这不意味着你不能手动调整了,而是建议你阅读新动态图集和新 Char 缓存模式相关的文档后再考虑是否有必要进行调整。
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
description: "了解并上手服务包提供的所有其他新特性。"
|
||||
description: "了解并上手增强包提供的所有其他新特性。"
|
||||
---
|
||||
|
||||
# 上手其它新特性
|
||||
@ -31,7 +31,7 @@ cc.sp.labelRetinaScale = 2; // 渲染文本时纹理的缩放倍数,默认
|
||||
|
||||
官方文档中介绍了替换 attachment 对象进行换装的方法,但如果动画中有切换 attachment 的关键帧,这种方法就失效了。
|
||||
|
||||
还有一种方法是修改 attachment 的 region 对象来进行换装,但这种方法引擎没有直接支持,所以服务包对其进行了支持。
|
||||
还有一种方法是修改 attachment 的 region 对象来进行换装,但这种方法引擎没有直接支持,所以增强包对其进行了支持。
|
||||
|
||||
只需要一句代码即可使用 cc.SpriteFrame 的数据修改 attachment 的 region 对象数据:
|
||||
|
||||
|
@ -3,6 +3,6 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 入门指南
|
||||
|
||||
这个教程会简单地介绍如何利用服务包提供的新特性来更好地使用 Cocos Creator 引擎:
|
||||
这个教程会简单地介绍如何利用增强包提供的新特性来更好地使用 Cocos Creator 引擎:
|
||||
|
||||
<DocCardList items={useCurrentSidebarCategory().items}/>
|
||||
|
@ -4,20 +4,20 @@ sidebar_position: 6
|
||||
|
||||
# 卸载指南
|
||||
|
||||
服务包不会对项目进行修改,但就像要将引擎降级一样,这种操作还是有风险的,所以我们提供两种卸载方式以供参考:
|
||||
增强包不会对项目进行修改,但就像要将引擎降级一样,这种操作还是有风险的,所以我们提供两种卸载方式以供参考:
|
||||
|
||||
:::tip 提示
|
||||
|
||||
因为原理是一样的,即使是手动安装的服务包,依然可以通过引擎扩展进行卸载,反之亦然。
|
||||
因为原理是一样的,即使是手动安装的增强包,依然可以通过引擎扩展进行卸载,反之亦然。
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
## 使用引擎扩展卸载
|
||||
|
||||
请参考 [手动卸载](#手动卸载) 中提到的 **解除代码依赖与资源依赖**,确保项目不再依赖任何服务包的特性之后再卸载。
|
||||
请参考 [手动卸载](#手动卸载) 中提到的 **解除代码依赖与资源依赖**,确保项目不再依赖任何增强包的特性之后再卸载。
|
||||
|
||||
在 Cocos Creator 的菜单栏依次点击 **扩展 - 服务包管理 - 卸载服务包** 即可。
|
||||
在 Cocos Creator 的菜单栏依次点击 **扩展 - 增强包管理 - 卸载增强包** 即可。
|
||||
|
||||
![plugin-uninstall](./assets/plugin-uninstall.png)
|
||||
|
||||
@ -28,13 +28,13 @@ sidebar_position: 6
|
||||
|
||||
### 1.代码依赖
|
||||
|
||||
如果你的是 TypeScript 项目,则可以先删除 `creator-sp.d.ts` 文件,让 TypeScript 对使用了服务包接口的代码发出报错。
|
||||
如果你的是 TypeScript 项目,则可以先删除 `creator-sp.d.ts` 文件,让 TypeScript 对使用了增强包接口的代码发出报错。
|
||||
|
||||
之后我们要确保所有代码都不再依赖服务包的特性。
|
||||
之后我们要确保所有代码都不再依赖增强包的特性。
|
||||
|
||||
### 2.资源依赖
|
||||
|
||||
服务包提供了一些内置资源,像是多纹理 Effect 着色器资源,你可以通过查找 UUID 引用将对服务包内置资源的引用全部移除。
|
||||
增强包提供了一些内置资源,像是多纹理 Effect 着色器资源,你可以通过查找 UUID 引用将对增强包内置资源的引用全部移除。
|
||||
|
||||
### 3.恢复自定义引擎与删除扩展
|
||||
|
||||
@ -42,4 +42,4 @@ sidebar_position: 6
|
||||
|
||||
点击 Cocos Creator 主界面右上角的 **编辑器** 按钮,进入到编辑器的资源目录。
|
||||
|
||||
然后使用未修改过的 `jsb-adapter` 替换掉编辑器的 `Resources/builtin/jsb-adapter` 目录,最后将服务包的引擎扩展(比如 `service-pack-support` 目录)删除。
|
||||
然后使用未修改过的 `jsb-adapter` 替换掉编辑器的 `Resources/builtin/jsb-adapter` 目录,最后将增强包的引擎扩展(比如 `enhance-kit-support` 目录)删除。
|
||||
|
@ -5,9 +5,9 @@ sidebar_position: 7
|
||||
# 更新日志
|
||||
|
||||
---
|
||||
## Service Pack v1.0.0
|
||||
## Enhance Kit v1.0.0
|
||||
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载服务包](https://github.com/smallmain/cocos-service-pack/releases/tag/v1.0.0)
|
||||
适配 Cocos Creator v2.4.9 版本,[点此下载增强包](https://github.com/smallmain/cocos-enhance-kit/releases/tag/v1.0.0)
|
||||
|
||||
- **[新特性] 支持多纹理渲染**
|
||||
- **[新特性] 重构动态图集,支持多个新特性**
|
||||
|
@ -3,7 +3,7 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 动态合图
|
||||
|
||||
动态合图是一个非常好的合批手段,但是在之前引擎实现的比较简陋,所以服务包重构了动态合图系统,在原有功能基础上增加了许多重要特性。
|
||||
动态合图是一个非常好的合批手段,但是在之前引擎实现的比较简陋,所以增强包重构了动态合图系统,在原有功能基础上增加了许多重要特性。
|
||||
|
||||
比如支持复用废弃碎图空间,优化了图集装箱算法,所有图集作为一个整体进行管理等等,你可以阅读下面的文档了解详情:
|
||||
|
||||
|
@ -5,7 +5,7 @@ description: "随心所欲地控制动态合图的使用。"
|
||||
|
||||
# 手动管理合图
|
||||
|
||||
有时候你可能需要更细致地去控制哪些纹理加入动态图集,考虑到这一点,服务包在保留原来所有接口的基础上完全开放了动态图集相关的所有接口。
|
||||
有时候你可能需要更细致地去控制哪些纹理加入动态图集,考虑到这一点,增强包在保留原来所有接口的基础上完全开放了动态图集相关的所有接口。
|
||||
|
||||
---
|
||||
## 访问图集数组与已用空间集合
|
||||
@ -31,7 +31,7 @@ cc.dynamicAtlasManager.rects
|
||||
cc.dynamicAtlasManager.insertSpriteFrame(spriteFrame);
|
||||
```
|
||||
|
||||
可以将 SpriteFrame 所使用的纹理添加到动态图集,这是引擎原有接口,但服务包对其做了一点修改,这个接口不再会检查纹理的 `packable` 属性,也就是变成了一个强制添加的接口。
|
||||
可以将 SpriteFrame 所使用的纹理添加到动态图集,这是引擎原有接口,但增强包对其做了一点修改,这个接口不再会检查纹理的 `packable` 属性,也就是变成了一个强制添加的接口。
|
||||
|
||||
这样设计的原因是你可以将所有纹理的 `packable` 都设为 `false`,或者直接将 `maxFrameSize` 设为 `0`,然后完全手动地进行动态合图。
|
||||
|
||||
|
@ -11,7 +11,7 @@ description: "了解如何手动进行多纹理合批。"
|
||||
|
||||
但是这种完全手动的方式实现起来比较麻烦,比如你需要使用一个纹理时,还得找到该纹理所在的材质并设置到渲染组件上。
|
||||
|
||||
为了能更方便地进行多纹理合批,服务包封装了一个自动切换多纹理材质的机制与多纹理合批管理类 `cc.sp.MultiBatcher`。
|
||||
为了能更方便地进行多纹理合批,增强包封装了一个自动切换多纹理材质的机制与多纹理合批管理类 `cc.sp.MultiBatcher`。
|
||||
|
||||
动态图集与字符图集使用的是一个全局的多纹理合批管理器实例,可以通过 `cc.sp.multiBatcher` 访问。
|
||||
|
||||
|
@ -6,7 +6,7 @@ toc_max_heading_level: 5
|
||||
|
||||
# 多纹理材质
|
||||
|
||||
服务包在引擎内置了可以直接使用的多纹理 Effect 着色器资源,并且你可以直接使用多纹理材质而不需要编写任何代码。
|
||||
增强包在引擎内置了可以直接使用的多纹理 Effect 着色器资源,并且你可以直接使用多纹理材质而不需要编写任何代码。
|
||||
|
||||
---
|
||||
## 创建多纹理材质
|
||||
@ -53,7 +53,7 @@ Spine 组件使用多纹理材质时会强制勾选 `enableBatch`,因为不开
|
||||
|
||||
除了直接在内置着色器的基础上修改之外,任何着色器中如果存在一个宏 `USE_MULTI_TEXTURE = true`,则会被认为是多纹理材质。
|
||||
|
||||
[演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html) 中有自定义材质的示范代码。
|
||||
[演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html) 中有自定义材质的示范代码。
|
||||
|
||||
:::tip 提示
|
||||
|
||||
@ -70,7 +70,7 @@ Spine 组件使用多纹理材质时会强制勾选 `enableBatch`,因为不开
|
||||
---
|
||||
## 通过代码设置纹理插槽
|
||||
|
||||
每个多纹理材质都对应着一个多纹理材质管理器,这是服务包新增的一个工具类,其主要用处是便捷、高性能地管理多纹理材质上面的纹理插槽。
|
||||
每个多纹理材质都对应着一个多纹理材质管理器,这是增强包新增的一个工具类,其主要用处是便捷、高性能地管理多纹理材质上面的纹理插槽。
|
||||
|
||||
通过 `material.getMultiHandler()` 可以获取到管理器实例,请使用这个实例来操作多纹理材质的纹理插槽。
|
||||
|
||||
|
@ -3,7 +3,7 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# Spine
|
||||
|
||||
服务包解决了 Spine 在 Cocos Creator 中的三大痛点:
|
||||
增强包解决了 Spine 在 Cocos Creator 中的三大痛点:
|
||||
|
||||
- 不参与动态合图
|
||||
- 无法与其它组件合批
|
||||
|
@ -79,7 +79,7 @@ a.getRegion(slotName, attachmentName);
|
||||
|
||||
如果你只想替换其中一个组件,那么就可以克隆这个 SkeletonData 让每个组件都使用不同的 SkeletonData 实例进行渲染。
|
||||
|
||||
服务包提供了一个克隆数据的接口来实现这个需求:
|
||||
增强包提供了一个克隆数据的接口来实现这个需求:
|
||||
|
||||
```js
|
||||
const clonedSkeletonData = skeletonData.clone();
|
||||
@ -88,4 +88,4 @@ const clonedSkeletonData = skeletonData.clone();
|
||||
使用以上代码克隆 SkeletonData 后再进行换装,赋值给 Spine 组件,那么替换操作就只会对这个 Spine 组件生效。
|
||||
|
||||
---
|
||||
以上所有用法你可以在 [演示项目](https://smallmain.gitee.io/cocos-service-pack/demo/v1.0.0/web-desktop/index.html) 中找到示范代码。
|
||||
以上所有用法你可以在 [演示项目](https://smallmain.gitee.io/cocos-enhance-kit/demo/v1.0.0/web-desktop/index.html) 中找到示范代码。
|
||||
|
@ -69,13 +69,13 @@ class Example extends cc.Component {
|
||||
|
||||
一般情况下,代码位置 2 是当用户脚本被加载时就会被执行,而代码位置 1 可能需要等到引擎首场景加载后的某个时间执行。
|
||||
|
||||
服务包会自动调整动态图集的最大数量,这个调整的时机是在代码位置 2 之后的,所以比如你的项目对 Char 缓存模式使用量比较大时,想尝试将动态图集最大数量调整为 6,自动合批的字符图集数量调整为 2,那么你只需要在代码位置 2 修改字符图集自动多纹理合批的数量:
|
||||
增强包会自动调整动态图集的最大数量,这个调整的时机是在代码位置 2 之后的,所以比如你的项目对 Char 缓存模式使用量比较大时,想尝试将动态图集最大数量调整为 6,自动合批的字符图集数量调整为 2,那么你只需要在代码位置 2 修改字符图集自动多纹理合批的数量:
|
||||
|
||||
```js
|
||||
cc.sp.charAtlasAutoBatchCount = 2;
|
||||
```
|
||||
|
||||
之后服务包会自动将动态图集的最大数量调整为 `8 - 2`,即 6。
|
||||
之后增强包会自动将动态图集的最大数量调整为 `8 - 2`,即 6。
|
||||
|
||||
这个自动调整的时机并不意味着你在代码位置 2 修改动态图集的最大数量是无效的,因为一开始动态图集的最大数量为 `-1`,你打印一下可以看到
|
||||
|
||||
@ -83,7 +83,7 @@ cc.sp.charAtlasAutoBatchCount = 2;
|
||||
console.log(cc.dynamicAtlasManager.maxAtlasCount); // -1
|
||||
```
|
||||
|
||||
如果你在代码位置 2 修改了动态图集的最大数量,服务包就不会调整该值了。
|
||||
如果你在代码位置 2 修改了动态图集的最大数量,增强包就不会调整该值了。
|
||||
|
||||
```js
|
||||
cc.dynamicAtlasManager.maxAtlasCount = 5;
|
||||
@ -100,7 +100,7 @@ cc.sp.charAtlasAutoBatchCount = 3;
|
||||
|
||||
比如上面这个设置,这会使得引擎需要用 2 个材质进行渲染,但是可用的动态图集扩充到了 13 张,Char 能自动合批的图集数量扩充到了 3 张,对于某些项目来说可能并不是一件坏事。
|
||||
|
||||
服务包使用这个 “7 + 1” 的默认值有以下几点原因:
|
||||
增强包使用这个 “7 + 1” 的默认值有以下几点原因:
|
||||
|
||||
- 引擎原本就只有 1 张 Char 字符图集
|
||||
- 大多数项目使用 1 张 Char 字符图集是足够的
|
||||
|
@ -3,6 +3,6 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 文本渲染
|
||||
|
||||
文本渲染一般是游戏性能优化需要重点关注的地方,并且其显示效果也非常重要,所以服务包提供了以下新特性:
|
||||
文本渲染一般是游戏性能优化需要重点关注的地方,并且其显示效果也非常重要,所以增强包提供了以下新特性:
|
||||
|
||||
<DocCardList items={useCurrentSidebarCategory().items}/>
|
||||
|
@ -3,14 +3,14 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 使用指南
|
||||
|
||||
在 [入门教程](../start-guide/start-guide-intro.mdx) 里,你应该对如何更好地使用安装服务包后的引擎已经有所了解了。
|
||||
在 [入门教程](../start-guide/start-guide-intro.mdx) 里,你应该对如何更好地使用安装增强包后的引擎已经有所了解了。
|
||||
|
||||
通过该指南你可以更详细地了解服务包为引擎添加的每个特性与改动:
|
||||
通过该指南你可以更详细地了解增强包为引擎添加的每个特性与改动:
|
||||
|
||||
<DocCardList items={useCurrentSidebarCategory().items}/>
|
||||
|
||||
:::caution 注意
|
||||
|
||||
在几乎所有平台上引擎都是使用 WebGL 渲染模式,所以服务包的大部分特性都未支持引擎的 Canvas 渲染模式,部分特性在 3D 节点下不生效。
|
||||
在几乎所有平台上引擎都是使用 WebGL 渲染模式,所以增强包的大部分特性都未支持引擎的 Canvas 渲染模式,部分特性在 3D 节点下不生效。
|
||||
|
||||
:::
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "service-pack",
|
||||
"name": "enhance-kit",
|
||||
"version": "1.0.0",
|
||||
"description": "This extension provides support for cocos service pack.",
|
||||
"description": "This extension provides support for cocos enhance kit.",
|
||||
"author": "SmallMain",
|
||||
"main": "main.js",
|
||||
"runtime-resource": {
|
@ -1,3 +1,3 @@
|
||||
请切换到 `v1.0.0-v2.4.9` 类似这种格式的分支查看引擎的源码。
|
||||
|
||||
前面的版本号是 Cocos Service Pack 的版本号,后面的版本号是适配引擎的版本号。
|
||||
前面的版本号是 Cocos Enhance Kit 的版本号,后面的版本号是适配引擎的版本号。
|
||||
|
Loading…
Reference in New Issue
Block a user