【已正式发布】CocosCreator 3.8.7 社区版本公测帖

3.8.7 的版本正在进行最后的测试,会尽快发布的。
现在先发布一个新的社区版,版本主要针对测试小伙伴发现的 bug,和各位热心同学们的反馈和建议进行修复和优化。

下载地址【20250731】

Window
Mac

引擎

新功能

  • 使用 PROP_ENABLE_COMPRESS_SO 控制 Android 构建输出中是否压缩动态库:PR

优化

  • 支持 Vulkan 1.4 SDK:PR
  • 平滑处理特效中 2D 坐标系的差异:PR

修复

  • 修复 HarmonyOS 平台上 Promise 的相关问题:PR
  • 将 evalString 修改为线程安全函数:PR
  • 修复视频播放进度异常的问题:PR
  • 添加 _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR 以避免崩溃:PR
  • 修复 box2d 模块导出问题:PR
  • 在 addDraw2D 中添加 camera UBO 支持:PR
  • 修复:确保 atlasFileFilter 为有效值:PR
  • 修复 HarmonyOS Next 平台无法显示字体颜色和视频播放结束后无法重播的问题:PR
  • 修复在原生平台设置下窗口缩放时,由反射探针引起的屏幕拉伸问题:PR
  • 修复属性的国际化(i18n)显示缺失问题:PR
  • 修复自定义渲染管线窗口缩放内存泄漏:PR
  • 修复 JSVM 调试日志中缺失的端口信息:PR
  • 修复未传递目标参数时的回调问题:PR
  • 修复旧管线预览新管线effect时报错的问题:PR
  • 使用实例化(Instancing)动画时出现相同问题的修复:PR

编辑器

新功能

  • 添加 tab 页定位到资源的右键功能

优化

  • 调整部分 ui 实现,优化性能

修复

  • 修复骨骼贴图布局添加cc.Animation以后贴图大小没有变化的问题
  • 修正 asset-db 的依赖查询接口描述
  • 修复在某些情况下已经被关闭的场景会因为资源 asset-change 事件重新被打开的 bug
  • 修复部分 UI 组件 Object 类无法进行资源回收的 bug
  • 修复模拟器预览的加载路径错误
  • 修复构建时间的排序问题
  • 修复一些情况下,关闭场景会重新打开的 bug
  • 修复构建图集时可能出现 spriteFrame 加载异常
  • 修复创建原生模板报错
  • 修复多场景编辑模式下经常出现 component already added 的 warning 的问题
  • 修复多场景模式下,当打开空场景的时候,上一个缓存场景的节点信息没清空的 bug
  • 修复 tab 修改后 * 号标识没有展示出来的问题

来了来了,没有跳票 :grin:,以下是这次社区版的改动,各位大佬请查收

下载地址【20250702】

Window
Mac

引擎

新功能

  • 允许在 ark 平台使用 postMessage 和 postSyncMessage:PR
  • Breaking change】bloom添加了intensity参数。3.8.4~3.8.6 升级上来的用户需要将参数从2.3设置回1.0

优化

  • 兼容旧动画格式:PR
  • JSVM 优化:PR

修复

  • 修复在自定义渲染管线下 gizmo 不显示的问题:PR
  • 修复新版微信小游戏 IDE 报错:readFile:fail 参数检查失败的问题:PR
  • 在 HarmonyOS Next 平台上将 Creator 2.x 的代码同步到 Creator 3.x:PR
  • 在 chunk 中预分配额外空间,避免因顶点数量波动频繁重新分配内存:PR
  • 重命名动画烘焙采样率(Animation Bake Sample Rate):PR
  • 修复 Native 模式中跳转场景时节点被销毁但仍监听事件的问题:PR
  • 修复淘宝平台函数因类型检查缺失而报错的问题:PR
  • 标记 spine 中 customMaterialInstance 字段为弃用状态,并提供迁移方案:PR
  • 修复 HarmonyOS-Next 平台的 stopvideo 事件问题:PR
  • 修复 spine 中调用 setSlotTexture 且 createAttachment 设置为 true 时纹理替换失败的问题:PR
  • 修复 setSlotTexture 在不同 skeletonData 附件间不工作的问题:PR
  • 修复 Bloom mipmap 预览:PR
  • 修复原生 copy pass 内存溢出的问题:PR

编辑器

新功能

  • 默认关闭 asset-db 的资源缓存实验室功能
  • 添加场景多 tab 的右键功能
  • 添加场景多 tab 的左右拖动功能

优化

  • 调整 tab 的 UI 效果
  • 优化 gizmo 选择效果
  • 优化脚本依赖查询接口
  • 完善场景单元测试

修复

  • 修复反复拖动材质设置物体,会出现某些物体高亮效果错误的问题
  • 修复单独设置某个平台纹理压缩 overwrite 时无效
  • 修复项目脚本未定义 tooltip 也会帮补全的问题与某些属性没有 docs 跳转的问题
  • 构建路径的特殊符号验证缺少 @ 字符
  • 修复替换图集下图片时重新预览可能报错
  • 修复构建模板的 tsconfig 配置
  • 修复新建构建任务后不会自动滚动到任务
  • 修复模型预览无法加载动画的问题
  • 修复模拟器加载远程 Bundle 脚本时与本地 Bundle 脚本内容不一致
  • 更新模型预览获取动画的接口
  • 修复 LOD gizmo 报错导致无法显示 LOD 组件的问题
  • 修复服务器 get 钩子在 res.send 后依然继续匹配 get 函数
  • 修复构建图集时小图配置缺失
  • 修复图集资源被使用后的依赖配置错误
  • 修复 scene 当中嵌套的 prefab 点击更新到资源的时候,已经打开的关联 prefab 数据没有更新的 bug
  • 降级资源缓存复用失效的警告
  • db 启动阶段需要自动创建文件夹
  • 修复多场景模式下,加载 scene cache 后无法正常记录的 bug
  • 修复动画编辑器在增加 AnimationClip 的时候,退出动画编辑器 title 没有 dirty 的 bug
  • 修复多场景编辑动画模式退出变成关闭的 bug,动画模式直接进入预览退出报错的 bug
  • 修复编辑器预览退出后,中心轴会出现 2 条相同颜色的问题
  • 修复资源更新的时候,场景没有被重新加载的 bug
  • 修复插件销毁时,漏删除缓存代码的问题
  • 修复关闭主窗口触发 beforeClose 后点取消,导致场景操作异常的问题
  • 修复 gizmo hoverIn 与 hoverOut 顺序错误的问题
  • 修复预览面板如果切换 2D/3D 视图会出现重复创建 grid 与 PreviewWorldAxis 的问题

临时更新了一下版本,主要修复了新管线 gizmos 无法显示的问题,还针对部分热心同学提的建议,进行了一波优化(主要是多 tab 编辑相关的)

下载地址【20250604】

Windows
Mac

转眼要到端午了,各位同学端午快乐(安康),以下是 3.8.7 第二个社区版的介绍,主要增加了几个实用的功能和修复了一些反馈的 bug,大家可以体验(!卷)一波。

下载地址【20250530】

Window
Mac

引擎

新功能

  • JSVM 支持通过浏览器进行调试: PR
  • 新增2D管线自定义功能(实验性质):PR PR PR
  • 新增Global uniform功能:PR PR
  • 新增mipmap filter Bloom效果:PR PR
  • spine attachment支持多region:PR
  • 在组件菜单中新增地形组件: PR
  • OpenHarmony 鼠标键盘适配: PR

优化

  • 重构 worker-ui 通信: PR
  • 提升 Baked 骨骼动画的性能: PR
  • 为 Spine Skeleton 在原生与 Web 实现中暴露 skin 属性及 setSkin 方法接口: PR
  • 将 XR 移至末端: PR
  • 更新 Spine 4.2 Runtime 到 4.2.80: PR

修复

  • 修复调用 ark 函数时未传递参数导致报错的问题: PR
  • 修复Metal/Vulkan 平台获取先前 Graphics 绘制内容的问题: PR
  • 修复 Bullet Physics 的内存越界访问问题: PR
  • 修复 spine.setCompleteListener 在原生平台使用 shared_cache 缓存模式时不触发回调的问题: PR
  • 修复3D 粒子使用 uimeshrender 显示时会闪烁的问题: PR
  • 修复 Spine 批处理功能在原生平台未正常工作的问题: PR
  • 修复 Mask 嵌套显示异常的问题: PR
  • 修复在批量合并过程中未恢复 ibCount 导致重复渲染的问题: PR
  • 调整 AnimationEventType 与 Spine C++ 的 EventType 更新保持一致: PR
  • 修复 Tilemap 窗口调整大小时纹理地图偏移的问题: PR
  • 修复重启 WebGPU 时的黑屏问题: PR
  • 修复 2D Chunk 为 null 导致持续报错的问题: PR
  • 修复加载 2D 粒子时删除节点会报错的问题: PR
  • 为抖音平台更新了 game.ejs 文件: PR
  • 为 OpenHarmony 添加支持 avplayer 播放应用沙盒内的文件: PR
  • 修复渲染多个 Tilemap 时不显示的问题: PR
  • 修复当某些 UI 组件被显示或隐藏时中断批处理的问题: PR
  • 修复由于使用错误的 AttachmentVertices 导致显示异常的问题: PR
  • 修复 Spine 4.2 中 setSlotTexture 使用 createNew: true 时影响其他实例并导致渲染异常的问题: PR
  • 修复 Spine Vector 的 setSize 和 std::vector 的 resize 行为不一致的问题, 该问题导致 Spine Vector 提前分配额外的空间: PR

编辑器

新功能

  • 实验室功能新增多 tab 编辑功能,现在可以在不同的 tab 页签编辑不同的 scene、prefab,也可以在 偏好设置->实验室->启用多场景编辑 中关闭。(社区版本默认开启,正式发布默认关闭)
  • 增加层级管理器当中,节点图标的显示,也可以在 偏好设置中->层级管理器 中关闭

优化

  • 各个游戏平台的密钥配置地址支持项目下相对路径
  • 预览服务器支持按平台加载 bundle 配置,编辑器预览修改加载 url
  • 预制 state 添加 isNested(是否是嵌套预制)的标记
  • 修复 db 启动可能出现异步未捕获的错误,启动异常弹窗添加仍要打开的按钮方便启动失败修改偏好设置
  • 构建任务支持搜索以及按照名称或构建时间排序的按钮选项

修复

  • 修复构建按钮可能点击无效
  • 修复删除资源后可能会有报错日志
  • 修复编辑器预览,项目代码报错时,不显示报错日志的问题
  • 修复在意外情况下可能点击构建按钮无效
  • 修复资源删除后 db 进程可能报错
  • 修复拖拽材质时产生的错误挂载的问题
  • 修复场景 3D 视图中无法选中 2D 节点的问题、场景快捷键提示隐藏延长为 5 秒
  • 修复 bundle 构建报错
  • 修复编辑器内部预览打开 2 次场景的问题
  • 修复模拟器平台类型不对的问题

hello,各位同学,本次 3.8.7 的第一个论坛版本已经准备完毕,大家有空可以体验一下,以下是本次论坛版本的主要更新情况。

下载地址【20250430】

Windows
Mac

引擎

新功能

Sorting Layer 复用 3D 渲染层定义面板,可以在"项目设置"->“Sorting Layers” 中配置 Sorting Layer 列表,Sorting Layer 的优先级比 Sorting Order 更高。Sorting Order 为整型,默认为 0,值范围 -32768~32767。Layer 相同,Sorting Order 值越低,越先渲染。
注意:2D 渲染队列中遇到 Mask 渲染器会立即执行当前 2D 渲染队列中的所有渲染器。

  • 添加 Global Uniform 支持。PR PR PR PR
  • 添加模块条件控制功能。PR
  • 为左下角 Profile 面板添加半透背景。PR
  • 为新管线添加 Global Uniform 的设置接口。PR
  • 添加 Tween.bindNodeState(v: boolean) 接口,用于控制 Tween 的 pause/resume/stop 状态是否自动关联到 Node active/inactive/destroy 状态,默认关联,传入 false 可禁用关联。PR
  • 添加 AnimationManager 的 animationStates 获取器: PR
  • 添加 Profiler.setBackgroundColor API: PR
  • 添加 Profiler.setFontColor API: PR
  • 构建时可以选择合并 AnimationClip 文件, 减少文件数量, 提升加载速度: PR
    image

优化

  • 同步 Spine 仓库 3.8 分支的最新改动。PR
  • 添加 Spine wasm 的生成说明文档。PR
  • 为 Spine 4.2 绑定缺失的一些属性。PR
  • 构建不再输出 .cconb 二进制文件,统一改用 .bin 扩展名。PR
  • 编译模拟器的命令支持生成 Spine 3.8 或者 Spine 4.2 的模拟器。PR
  • 改进预览检查器: PR
  • 全平台使用cconb格式替代ccon 格式, 减少文件数量, 提高加载速度: PR
  • 为 XR 和 vendor-google 添加环境条件判断: PRPR
  • 为 ModelBakeSettings 实现工具提示描述: PR
  • 移除未使用的属性 UIRenderer._renderDataFlag: PR
  • 优化 Rich Text 包体大小:PR
  • 优化支付宝小游戏的适配层代码集成方式:PR

bug 修复

  • 修复浮点数比较问题: PR
  • 修复原生平台上大部分 UIOpacity 问题,优化本地透明度同步到原生端的逻辑: PR
  • 修复 Spine 中因旋转使用不当导致的渲染异常: PR
  • 修复 3D 粒子使用压缩纹理时的效果错误: PR
  • 解决 Web 平台 Spine 运行时可能的内存溢出(OOM)问题: PR
  • 修复 CI 中的 emsdk 缓存错误: PR
  • 使预览缩放效果与场景保持一致: PR
  • 修复 Box2D-JSB 中未绑定的 b2ChainShape::m_vertices 和 b2PolygonShape::m_vertices/m_normals 属性: PR
  • 在 iOS 12.0 上回退 maxKnownFeatureSet: PR
  • 修复组件移除后因未注销事件导致的内存泄漏: PR
  • 修复 Android 平台因 getViewSize 调用导致的崩溃问题: PR
  • 修复字节跳动平台 ‘onWindowResize’ 回调中获取过时 systemInfo 的问题: PR
  • 修复瓦片渲染模式下精灵无法动态合批的问题: PR
  • 更新微信模板中的 libVersion 值: PR
  • 修复 HarmonyOS-Next 平台频繁隐藏/显示窗口时可能导致的崩溃问题: PR
  • 预制体预览支持切换功能: PR
  • 修复渲染 rt 纹理精灵无法合批绘制的问题: PR
  • 为富文本添加 UITransform 组件依赖: PR
  • 移除设置 SpriteFrame 时查询自动图集的代码: PR
  • 修复实例化时忽略带有挂载子节点的节点副本的问题: PR
  • 修复删除编辑场景中使用的 spine 资源可能导致 JS 异常的问题: PR
  • 添加更严格的 renderdata 有效性检查代码: PR
  • 修复原生平台上使用旧管线,启动的时候导致的一个内存泄露问题:PR
  • 修复原生平台上使用 physx 物理后端,转换 C++ std::vector 和 std::vector 为 JS Array 的初始大小不对的问题:PR
  • 修复新管线编译 release 包,开启 Profile 无法生效的问题:PR1, PR2,PR3
  • 为 copy-pass.effect 移除不必要的 Global Uniforms:PR
  • 修复 HarmonyOS Next 平台上,选用 ARK Runtime 导致的内存泄露问题:PR1, PR2
  • 修复平行光组件 csmTransitionRange 属性的范围错误:PR
  • 修复 GPU instancing 排序问题:PR
  • 修复 Camera.convertToUINode 无法在 start 回调中生效的问题:PR
  • 修复 Spine 4.2 TrackCompleteListener 不能收到回调,以及 Spine 3.8 TrackCompleteListener 不同动画只能回调一次的问题。由于 Spine 4.2 C++ 代码调整了spine.EventType 的枚举值,Spine 3.8 同步了 Spine 4.2 enum 对应的修改,导致 TS 层也需要调整,这个修改破坏了 spine.EventType 枚举数值的兼容性。如果项目中有直接使用数字判断 EventType 而不是使用枚举 spine.EventType.dispose/complete,那么需要做对应调整,建议不要直接使用数字,避免后续带来兼容问题:PR
  • 修复 Xcode 16.3 导致的 iOS/macOS 平台上的编译报错问题:PR
  • 修复 bullet wasm 漏绑定 CollisionShape_getLocalBoundingSphere 接口的问题:PR
  • 修复 Box2D JSB 漏绑定 normalImpulses/tangentImpulses 属性的问题:PR
  • 修复预加载 Texture2D 或 SpriteAtlas 失败的问题:PR
  • 修复原生平台上在 schedule 回调中销毁带 sp.Skeleton 组件的节点导致的崩溃问题:PR
  • 为 Renderer.setSharedMaterial 添加 forceUpdate 参数, 解决 3.8.6 引入的传递相同 material 对象不更新的问题:PR
  • 修复 preload 预加载 Texture2D, Altas 资源失败的问题:PR
  • 修复 spine 导出 jpeg 图片资源,原生平台上加载导致的崩溃问题:PR
  • 修复原生平台上禁用启用 2D 粒子节点导致 C++ 层内存越界崩溃问题:PR
  • 修复 Google Play API 没有代码提示的问题:PRPR
  • 修复 box2d-wasm/box2d-jsb 后端中 physics-contact.ts 的逻辑异常:PR
  • 修复未勾选 DragonBones 模块,在模拟器中运行报错的问题:PR
  • 修复 HarmonyOS Next 平台文件读取相关的问题:PR
  • 修复 Spine setTrackEndListener 无法被正常回调的问题:PR

编辑器

新功能

  • 新增了【用户反馈】面板,通过【菜单-帮助-反馈问题】 可以启动,有意见建议也可以在这边进行反馈
  • 抖音平台支持引擎分离
  • 构建支持动画文件的 cconb 的合并,可以减少动画文件数量和优化加载速度,可以在构建配置内开启
  • 层级管理现在显示节点的时候,带有用户脚本的的节点会有图标显示

优化

  • 新增"启动编辑器时从缓存中恢复数据库"的实验室选项,默认开启。项目第一次升级时选项默认无效,之后打开项目直接从缓存恢复内存数据不重新导入,保守可以优化 75% 左右的资源导入时间,项目越大效果越明显。开启后如遇到问题可以在论坛上反馈给我们,也可以暂时关闭选项绕过。
  • 构建配置面板支持拖动配置属性显示宽度
  • 优化资源管理器内查找 UUID 的使用功能,支持所有资源类型查询包括脚本之前的互相依赖
  • 调整吸附与摄像机漫游快捷键提示逻辑
  • 完善 Spine 与 预制预览功能
  • 添加预制体预览开关到实验室
  • 优化 2d 视图滚动速度效果
  • 优化中心轴线条逻辑
  • 调整 position gizmo 蓝框的 z 轴,让他优先被检测,减少误操作的可能性
  • quick compile 编译模块自动剔除对应平台宏不支持的模块

bug 修复

  • 修复 web 平台的 Bundle 包路径包含特殊符号时,勾选 md5 构建会出错
  • 修复命令行构建 Bundle 可能出现 Invalid bundle options 错误后失败
  • 修复编辑器偏好设置修改资源默认导入配置重启后失效
  • 修复构建自动图集时加载资源可能报错
  • 修复构建插件钩子函数内 result 参数的资源地址查询接口
  • 修复构建自定义纹理压缩接口定义以及示例错误
  • 修复自定义资源数据库插件重启后无法正常显示在资源管理器
  • 修复构建过程中可能出现 operation not permitted 错误
  • 兼容引擎部份对属性元素进行二次挂载导致节点无法正常获取的问题
  • 修复 alt + 鼠标左键进入 Orbit 状态,释放了 alt 后鼠标抬起会触发选中对象的问题
  • 修复模拟器引擎 TS 与 C++ Spine 版本不配套的问题
  • 修复点击编辑器预览单步运行,导致场景视图表现错误的问题
  • 修复编辑器内部预览时,会出现处理被删除的节点,导致报错的问题
  • 修复拖动 material 设置 mesh 时,会出现mesh 的材质被赋空的问题
  • 微调部分编辑器 UI 的组件
  • 修复 bundle 重命名后,编辑器内部预览加载不到的问题
  • 修复运行编辑器预览时,默认先打开一个空场景的问题
  • 修复删除参考图的原图时,参考图无法操作的问题
13赞

第一个签到!

2赞

快准…

TiledMap,没适配新版本吗?

5赞

这么快,我才刚换到3.8.6 :joy:

牛 速度很快。

什么时候集成个定点数物理引擎啊,改改box2d也可以啊。小菜菜不敢动源码啊

很好,我的node.zIndex将第一时间指向 Sorting2D.sortingOrder
:star_struck:

4赞

另外说一句,这修复了这么多问题,说明版本还是太不稳定了。
现在版本号也不小了,希望能尽快出个稳定版。
新功能可以在下个大版本再考虑。 :pray:

3赞

ListView这个组件有做DrawCall优化和Item复用吗

赞,试用新Spine,

引擎在不断完善和增强.

Spine 多纹理合批,支持3.8.7

提个优化建议

spine顶点数据buffer,mesh比较大,

长度不变会持有,长度变化会重新申请,

使用量大,chunck 容易分配不同buffer,

复用或新创的spine,又或者进行排序的节点,

合批会因buffer的分割逐渐失效,能否每次按spine

渲染顺序,顺序地复用缓存的buffer,避免buffer的分割

8赞

马上下一个。。。我半天不逛论坛就偷偷摸摸更新是吧 :laughing:

2赞

官方也是动作快起来了.
看来调整期也是结束了,进入下一个发育期了.
:space_invader::space_invader::space_invader:

2赞

按照现在官方box2d的接入方式, 你自己接入另一套物理后端比如rapier的2d版本,也不用侵入式修改.

记得项目设置,模块裁切,要勾上“2D 渲染排序”。为了保持兼容,默认是不勾上的。

1赞

用 spine 4.2的,如果需要模拟器支持,那么可以这里下载预编译的模拟器文件,替换到对应目录。

https://github.com/cocos/cocos-engine/releases/tag/3.8.7-beta0

下载 cocos-creator-simulator-3.8.7-beta0-spine-4.2.zip,解压后的目录结构:

SimulatorApp-Mac-spine-4.2/Release
SimulatorApp-Win32-spine-4.2/Release
native-preview-spine-4.2/native-preview

Windows 平台

我的电脑引擎根目录为:C:\ProgramData\cocos\editors\Creator\3.8.7\resources\resources\3d\engine

  • 将 SimulatorApp-Win32-spine-4.2/Release 目录覆盖到"引擎根目录/native/simulator",
  • 将 native-preview-spine-4.2/native-preview 目录覆盖到"引擎根目录/bin"
  • 重新运行模拟器

Mac 平台

引擎目录:/Applications/Cocos/Creator/3.8.7/CocosCreator.app/Contents/Resources/resources/3d/engine

  • 将 SimulatorApp-Win32-spine-4.2/Release 目录覆盖到"引擎根目录/native/simulator",
  • 将 native-preview-spine-4.2/native-preview 目录覆盖到"引擎根目录/bin"
  • 重新运行模拟器
2赞

麻烦看下这个呢mac系统

支持 :wink:
zindex终于来了,很重要!!!

2赞

我想问问 https的post请求,可以发二进制数据吗? 还得是异步的