Hi,大家好
由于大家对 3.6 版本的期待非常高,为了让这个版本尽量稳定,不负众望,即日起我们正式开启了 3.6 版本的社区公测,希望大家帮助我们完善这个里程碑版本,遇到问题及时反馈给我们。
下载地址 ver.080521
Windows
Mac OS X
ver.080521
- Fix undefined global constants (engine#12353)
- Add back conversion function seval_to_std_string (engine#12350)
- Add isEnabled for skybox mesh material update (engine#12351)
- Fix model renderer priority bug (engine#12347)
- Skybox crash with auto releasing assets (engine#12348)
- Fix canvas align every frame when run in editor preview mode (engine#12344)
- Fix mask type change bug (engine#12340)
- Fix invalid number for debug view (engine#12343)
- Turn off SUPPORT_JIT for editor (engine#12330)
- Fix memory leak and move it into private area (engine#12339)
- Bind clearStaticDrawInfos (engine#12335)
- Static draw info should be reset when flushing assembler (engine#12333)
- Convert OpenDataContext template into es5 (engine#12334)
- Add Node::getPathInHierarchy in native (engine#12319)
- Support anisotropy shape texture channel for surface-standard.effect (engine#12323)
- Fix tiled-group set premultiplyAlpha (engine#12309)
- Fix batcher bind (engine#12312)
- Add missing methods for Material (engine#12321)
ver.080401
重点更新
- 避免阴影虚化 Shader 参数的修改导致的性能下降
- 修复 Tile map group layer 混合模式设施不生效的问题
- 将模型的禁止拆分选项默认勾选(未来不再需要拆分模型)
- 修复部分编辑器预览 GameView 中的体验问题
- 修复安卓平台多点触摸触点派发错误的问题
Engine
- Bind missing functions in native to ensure API consistency (engine#12318)
- Add jsb.Asset.prototype.toString (engine#12315)
- Add node’s missing function
attr
in native (engine#12314) - Fix spine-core copy function with wrong parameter (engine#12287)
- Fix label vertex color bug (engine#12306)
- Fix timeout timer is not cleared while xhr.abort is invoked (engine#12303)
- Remove node name suffix(clone) when instantiate prefab node (engine#12293)
- [Optimization] Temporarily disable soft_ 4X PCF sampling (engine#12297)
- Fix pass hash when blend change (engine#12294)
- Set DisableMeshSplitValue to True. (engine#12295)
- Fix bundle loading in game view (engine#12284)
- Fix native.reflection.callStaticMethod wrong signature (engine#12291)
- Fallback to vk 1.2 if a new driver is used (engine#12270)
- Only dispatch changed touch event to ts (engine#12285)
- Fix android crash while use Vulkan while switching between background/foreground (engine#12282)
- Register sensor listener only when needed (engine#12283)
ver.072922
Editor
- L10n 增加谷歌翻译支持
- L10n 支持导入导出 csv 以及 xlsl
- 优化 L10n 不需要编译,动态生成数据
- 优化 L10n 语言菜单的排序
- 修复 L10n 扫描未能正确识别视频、音频的问题
- 支持粘贴为目标节点的子节点
- 修复场景可能出现 ready 消息不存在的报错
- 修复场景修改后进入 prefab,弹窗选择取消没有正常取消的问题
- 优化主进程日志输出,收集到的日志都会在主进程输出一次
- 修复节点粘贴后位置变化的问题
- 修复 game view 模式下不支持 local storage 的问题
- 修复Gradient作为脚本属性,无法正常保存的问题
- 修复大量 2.x 资源导入在 windows 上会导致崩溃的问题
- 修复动画拖拽到 inspector 不响应的问题
- 修复 inspector 针对数组里的类型可能显示错误的问题
- 修复快游戏调试工具报错的问题
- 修复切换场景灯光配置和预览时选中camera小窗无绘制问题
- 修复骨骼贴图和宏定义修改后回车事件报错
- 修复设置renderTexture时编辑器预览显示异常的问题
- 修复吸附到目标时gizmo没有跟随的问题
- 修复编译脚本进程报错的问题不会中断构建
- 修复 Inspector 数据分组 Group 中的属性重置功能无效的问题
- 构建面板上,安卓游戏名称确认开始构建后不允许二次修改
- 修复从编辑器预览,切换到浏览器、模拟器后报错的问题
- 修复拖拽节点生成预制体后,编辑预制体位置信息会影响其实例的问题
- 修复动画编辑器 position 未对齐且边界不清晰的问题
- 修复编辑器预览暂停时,场景视角异常,gizmo显示异常
- 修复预制体编辑时进入编辑器预览层级树没有更新的问题
Engine
- Export enum defined in engine-adapter.js (engine#12274)
- Fix: animation mode hide add-component-btn (engine#12264)
- Fix memory issues for XMLHttpRequest & WebSocket (engine#12271)
- Use log instead of assert in cleanup to avoid assert crash in pr test. (engine#12269)
- Add deprecation checks (engine#12266)
- Fix ui mesh renderer enable bug (engine#12265)
- Fix particle-system deserialization (engine#12220)
- Remove blend state on ui render (engine#12228)
- Fix spine tint (engine#12263)
- Feat: animation graph - support absolute destination start time (engine#12162)
- Fix the crash after the behavior of Data_to_seval changed from returning TypedArray to returning ArrayBuffer. (engine#12260)
- Fix Object::clearPrivateData doesn’t set _privateData to nullptr (engine#12259)
- [Bug] Remove prefabInfo when copying components (engine#12255)
- Use native middleware buffer for Spine and Dragonbones (engine#12233)
- Fix native module building for separate engine (engine#12251)
- Add an extra alignment to GeneralBarrierInfo to make it 8 byte aligned (engine#12247)
- Modify the help icon color to --color-default-contrast-emphasis (engine#12196)
- Add deprecated functions (engine#12155)
- Export AssetsManager to native (engine#12254)
- Fix Stencil manager crash when pass destroy (engine#12241)
- Fix CocosApplication doesn’t unregister engine event when restarting. (engine#12250)
- Particle material switch warning when material is not suitable (engine#12249)
- Fix sprite frame trim bug (engine#12252)
- Add docs for jsb.garbageCollect (engine#12238)
- Delete redundant file OSInterfaceManager (engine#12245)
- Fix HttpClient severe performance degradation by use threadPool in script engine (engine#12240)
- Fix spine memory leak when restarting game and some other memory leaks (engine#12206)
- Add back HttpClient::destroyInstance in destroy to fix http no response when restart (engine#12236)
- Fix reflection not export bug. (engine#12237)
- Fix memory leak in BufferAgent.cpp. (engine#12231)
- Fix the bug that game will crash on exit when using deferred pipeline (engine#12216)
- Refine websocketClose parameters for protection (engine#12202)
- Revert convertToUINode deprecation (engine#12229)
- Add vbColorDirty for native color filling (engine#12221)
- Disable tbb on HarmonyOS & CI fix bindings (engine#12225)
- Remove USE_REFLECTION_CUBEMAP (engine#12215)
- Surface shader support rendering to reflection map (engine#12223)
- Fix screenPointToRay logic error (engine#12210)
- Change Renderable2d name (engine#12213)
- Optimize embedded player/event evaluation in animation state (engine#12186)
- Specify ndk version for built-in res (engine#12211)
- Optimize frame animation performance (engine#12209)
- Fix graphics drawing in spine/dragonbones (engine#12198)
- Fix swap accessor not change buffer (engine#12204)
- Fix bullet contact data error (#13210) (engine#12195)
- Fix inverseBindposes binding (engine#12205)
- Optimizing ‘GCObject’ call performance (engine#12208)
- Fixed the problem that the script callback function could not be registered to game in native environment (engine#12190)
- Fix memory leaks (engine#12185)
- Fix shader compilation error (engine#12203)
- Fix issue that baked object can’t receive dynamic shadow (engine#12194)
- Fix a memory leak in CCMTLSemaphore (engine#12189)
- Fix ui Model proxy memory leak (engine#12184)
- Add FogInfo.FogType (engine#12197)
- Fix build error when enable swappy (engine#12191)
- Disable debug renderer in simulator to ignore feature cropping (engine#12181)
- Optimize code of batcher2D (engine#12166)
- Fix the bug that mathutils::approx always returns 1 (engine#12168)
- Fix wrong logic if passing ‘keepWorldTransform = true’ to setParent. (engine#12169)
- Correct the logic of visiting _worldRotation/Scale/Position in Node.cpp (engine#12170)
- The input argument of Mat4::toRTS should be in the first order and const reference, output arguments should be pointer. (engine#12172)
- Rename INITAL_CAPACITY to GLES_COMMAND_POOL_INITIAL_CAPACITY to avoid conflict. (engine#12164)
- Optimize memory usage in 2d (engine#12157)
Editor
- L10n 增加谷歌翻译支持
- L10n 支持导入导出 csv 以及 xlsl
- 优化 L10n 不需要编译,动态生成数据
- 优化 L10n 语言菜单的排序
- 修复 L10n 扫描未能正确识别视频、音频的问题
- 支持粘贴为目标节点的子节点
- 修复场景可能出现 ready 消息不存在的报错
- 修复场景修改后进入 prefab,弹窗选择取消没有正常取消的问题
- 优化主进程日志输出,收集到的日志都会在主进程输出一次
- 修复节点粘贴后位置变化的问题
- 修复 gameview 模式下不支持 localstorage 的问题
- 修复Gradient作为脚本属性,无法正常保存的问题
- 修复大量 2.x 资源导入在 windows 上会导致崩溃的问题
- 修复动画拖拽到 inspector 不响应的问题
- 修复 inspector 针对数组里的类型可能显示错误的问题
- 修复快游戏调试工具报错的问题
- 修复切换场景灯光配置和预览时选中camera小窗无绘制问题
- 修复骨骼贴图和宏定义修改后回车事件报错
- 修复设置renderTexture时编辑器预览显示异常的问题
- 修复吸附到目标时gizmo没有跟随的问题
- 修复编译脚本进程报错的问题不会中断构建
- 修复 Inspector 数据分组 Group 中的属性重置功能无效的问题
- 构建面板上,安卓游戏名称确认开始构建后不允许二次修改
- 修复从编辑器预览,切换到浏览器、模拟器后报错的问题
- 修复拖拽节点生成预制体后,编辑预制体位置信息会影响其实例的问题
- 修复动画编辑器 position 未对齐且边界不清晰的问题
- 修复编辑器预览暂停时,场景视角异常,gizmo显示异常
- 修复预制体编辑时进入编辑器预览层级树没有更新的问题
- 修复 inspector 上跨 prefab 复制组件属性失效的问题
- 修复搜索的时候不能正确显示 subAsset 的缩略图的问题
- 修复 hierarchy 双击节点会进入重命名的问题
- 优化场景内顶部按钮在 2d、3d 下的显示逻辑
- 修复预制体中保存地形再次打开会报错的问题
- 修复命令行编译时,自定义引擎编译错误会切换内置引擎
- 修复命令行编译时,自定义引擎编译错误进程退出码错误的问题
- 修复构建按钮在部分情况下可能出现状态异常的问题
- 修复自定义引擎编译失败,向 Dashboard 请求重启失败的问题
- 修复游戏代码里使用锁定鼠标会导致 gameview 模式下鼠标被锁定无法操作的问题
- 修复切换自定义引擎后 jsb.d.ts 没有更新的问题
- 修复启动过程中新增的脚本不会被编译的问题
- 修复构建服务器地址校验信息未显示以及刷新构建进程的任务进度显示问题
ver.072219
重点更新
- 2D 原生化性能已优化,原生平台各项性能测试赶上 2.x
- 通用节点 Transform 性能优化
- 分离 IBL Reflection map 和 Environment map,提高烘焙卷积图性能
- L10n 去除编译流程
- GameView 改为独立进程运行
- 支持原生 Tiledmap
ver.071512
Editor
- 修复鸿蒙平台无法编译
- 修复引擎模块数据迁移
- 修复构建任务按钮不能正常的记忆显示
- 修复 cocos-play 横竖屏配置无效
- 修复 vivo 平台运行二维码快应用无法正常扫描
- 修复原生平台 remote 目录脚本加密
- 修复框选选中关键帧由于数据缺失导致的操作问题
- 修复构建原生失败,报错的问题
- 修复打开 3.6.0 后,再打开 3.5 title 可能丢失的问题
- 修复手机预览的时候,vconsole 报错的问题
- 修复插件动态启动,场景脚本没有启动的问题
- 修复升级项目,引擎模块配置可能丢失的问题
- 修复插件挂载 db 无法设置 visible 的问题
- 优化脚本编译调试工具按钮位置以及文本
- 修复偏好设置,自定义宏的交互问题
- 修复编辑器启动过程中,加载引擎失败无响应的问题
- 优化华为 AGC 上传界面
- 构建无法导出配置文件
Engine
- [Optimization] Simplify logic of Node::walk() (engine#11997)
- [Optimization] Restructure life cycle (engine#11971)
- [Optimization] Add support to DCC effect for specularMap of Mixamo and blender (engine#11953)
- [Optimization] Batcher2d code sorting (engine#11943)
- [Optimization] Use External ArrayBuffer to optimize the shared memory in Node (engine##11926)
- [Optimization]Crop occlusion query in 2d project (engine#11990)
- [Optimization] Shadow map uses linear depth macro with webgl (engine#11993)
- [Optimization] Audio source will emit only if it’s attached to a node (engine#11975)
- Fix particle noise module switch bug (engine#11958)
- Fix 2d particle rendering bug on native platforms (engine#11973)
- Fix program exit bug (engine#11966)
重点更新
由于 3.6 版本更新众多,我们仅在此列出核心的改动,也可以参考我们 github 仓库的 v3.6.0 feature notes
引擎进一步原生化
在 3.3 的基础上,经过了近一年的开发和持续迭代,我们将引擎中更多内容下沉到 C++ 层,包括 SceneGraph 节点树,RenderScene 渲染场景管理和所有渲染数据。由此也得到了进一步的性能提升
编辑器能力
- 编辑器 UI 全面升级,优化交互体验(相关反馈请移步 UI 反馈帖)
- 新增编辑器预览模式(实验性),支持在编辑器中直接运行、调试游戏(相关反馈请移步公测介绍帖)
- 新增 Rendering Debug View 模式
- 【场景编辑器】场景编辑器新增表面吸附和顶点吸附能力,参考介绍
- 【场景编辑器】支持框选功能,可以一次选中多个物体
- 【资源管理器】支持在资源管理器和资源选择框中预览 Mesh 的缩略图
- 【资源管理器】支持直接筛选 Bundle 文件夹
- 【动画编辑器】动画剪辑可以添加嵌入播放器,支持粒子播放器和动画播放器(相关反馈请移步公测介绍帖)
- 【动画编辑器】可以通过双击节点列表和属性列表名称位置来折叠区块
- 新增 Localization Editor 作为官方新版编辑器内置的 i18n 方案(相关反馈请移步公测介绍帖)
- 【粒子系统】支持 Noise 模组
- 【粒子系统】支持子节点树的组合粒子预览控制
- 【粒子系统】修复粒子编辑面板不支持 Undo 的问题,方便调试
- 【Marionette】动画图支持动画预览
- 【Marionette】动画图支持变量和 Layer 重命名
- 【Marionette】动画图支持过渡线的排序
- 【Marionette】动画图增加了 “终点起始时间” 属性,允许过渡的目标动画从指定位置开始播放
- 【Marionette】动画图现在可以将某个过渡配置为可中断的,以允许指定的过渡被其它的过渡中断。该功能可在实验室功能中打开
构建能力
-
【构建面板】可以在界面上自由组合相关任务一起执行
-
资源服务地址已作为全平台共用参数,支持一键使用构建内置服务器,方便本地开发测试
-
优化了构建内编译引擎与编译脚本的任务调度,独立进程执行,降低构建进程对内存的占用
-
允许在偏好设置内添加自定义 cmake 工具供原生构建使用
-
构建钩子函数支持 onError 钩子函数用于捕获构建失败的情况
-
允许在偏好设置里关闭构建纹理压缩、引擎、自动图集对缓存的使用
Graphics 图形能力
- 支持使用 Surface Shader 编写 effects
- 支持烘焙 IBL 反射卷积图(GGX convolution)
- 支持 Cascade Shadow Map
- 支持设置 Skybox 材质
- 增加材质的 Normal Strength 范围
- 新增 GLTF specular-glossiness workflow 支持
- 更新默认 FBX surface phong 材质支持
- 扩展 Blender principled bsdf 材质的 Specular 通道支持
Framework 框架能力
- 支持 DynamicMesh
- 2D 渲染中的合批逻辑和提交逻辑原生化,提升原生平台性能
- 【粒子系统】支持 Particle noise module
- 【粒子系统】支持 Instanced mesh,提升发射器的性能
- 支持音频 PCMData 和 sampleRate 获取 support audio PCMData and sampleRate getter #11470
- 重构引擎启动流程,简化 application.js 逻辑,增加启动阶段的事件
- 【地形系统】地形画刷支持旋转
- 【地形系统】支持地形高度画刷
- 【烘焙系统】light map 烘焙器支持使用 tga 贴图格式
- 【烘焙系统】MeshRenderer 会自动设置渲染用的 light map 资源
- 更新 iOS 原生 EditBox 样式
- 支持 3D 空间 SpriteRenderer
- 支持渲染组件的优先级排序
- 在 UI 顶点数据中填充 z 值,以便支持 UI 的 3D Transform
- 使用贴图取代 uniform 来传递骨骼数据,避免模型的拆分
原生框架升级
- 添加更易用的高层 JS 绑定 sebind
- 集成 Android Game Activity
- Downloader 支持在 iOS/Android 平台的断点续传
- 添加原生插件规范(文档待补充)
兼容性
- 移除 Win32 支持,仅保留 Win64 发布
- iOS 最低版本支持从 iOS 10 变更为 iOS 11(为了使用 C++ 17)
- 内置材质的命名和编辑器中的命名保持统一,因此
EffectAsset.get
、Material.initialize
中使用内置 Effect 时通常需要加上 “builtin-” 前缀。 -
game.js
被更新了,如果有自定义模板,请一定要重新生成game.js
并做相应修改。详见升级文档 TODO 1. 构建模板application.js
,game.js
,index.js
等文件被更新了,如果有在项目或者构建插件中自定义过模板,请重新生成并做相应修改。详见升级文档 TODO -
settings.json
格式发生修改,对这个文件做了定制化处理的插件可能会无法使用。详见升级文档 TODO
已知问题
- 编辑器预览中加载 Asset Bundle 可能会有问题 #13270
反馈专区
由于此次公测时间较长,为了防止帖子太长,难以追踪,另外开辟四个反馈专帖:
- 新版编辑器 UI、配色、交互相关: 3.6 | Cocos Creator 首位编辑器UI设计师入驻社区啦!(其实这是个UI反馈贴)
- 编辑器预览: 3.6 | 编辑器预览(GameView)公测帖
- Localization Editor(官方 i18n 插件): 3.6 | Localization Editor 公测帖
- 动画嵌入播放器: 3.6 | 动画嵌入播放器公测帖
以上四部分请大家有序落座,勿窜台。其他反馈请在本帖回复!