已正式发布 -【Cocos Creator 3.8.2 社区公测帖】

记得当时是3.8.1的一个项目,之前构建抖音一直都没有问题,不知道有一天就突然出现了这个问题,尝试清除各种缓存,无效。看到前面一个出问题的人说是重装Cocos解决,我没有重装,选择把项目升级到3.8.2,然后就好了,也没有再关注过这个问题了。

对于我来说,这个版本最最最最最最最最最最最最最最最最最重要的问题,是Spine SHADED_CACHE 引用计数的问题。我在这个贴子里面对Spine SHADED_CACHE 引用计数的引用计数 提到2个问题,第一个问题你们已经修改好了,第二个问题你们只是提了一下,后来再也没了下文,git上的代码我刚看了一下,也没有修复。

目前我的项目只能使用自定义修改的版本,我真真真真真真真真真真真的不希望这个版本发布了,问题还存在。

spine shared_cache的问题,最新版本已经修复了,你git上看的是哪个版本的?
这个pr有看了?
https://github.com/cocos/cocos-engine/pull/16663

这个pr之前没有看。刚看了一下,这个pr确实对这个地方做了修改,修改方法和我想象得有差别。我现在去下个 【 011206】版本测试一下。

3.8.2版本的3D模型添加UIMeshRenderer之后贴图展示不对,如下图,第一张是没有添加UIMeshRenderer的,显示正常,第二张是添加了的,显示不正常,只展示了材质0的贴图
微信截图_20240124151653
微信截图_20240124151614
备注,这个模型使用的材质是多维子对象

好像多个材质不行

托追了一下材质顺序,发现确实只是展示第一个材质,,,那这个模型就没法用了啊 :joy:

BmFont Shrink 换行错误,导致字体偏小,3.7.2正常。

372 382

RightWrapping372.zip (69.8 KB) WrongWrapping382.zip (69.8 KB)

我都是用rendertexture 来替换uimeshrender的功能

[011206]版本已经测试完成了,Spine shared_cache问题已经修好了。
另外EditBox有2个问题尚未修复:

1, EditBox 获取输入焦点后显示会错位
2, EditBox 销毁后,改变窗口大小,会报resize错误问题。

做了这2个问题的Demo,供参考:EditBug382.zip (30.3 KB)

这个问题我测试的时候也遇到了

构建又报错了,不知道问题出在哪里:
image
无法构建,无法发版本 :sob: :sob: :sob: :sob:

image 编辑器内场景编辑器默认字体突然变成这样的字体了

网页预览的时候就没问题 3.8.0 3.8.2都有这个情况
image
15df816661b80a129c21167429c9b1ab

可以尝试 清楚项目的临时文件重新构建;

昨晚后来清理了一下,好了。记得上次能成功构建使用的时3.8.2,12月份的版本,后来又增加了l10N多语言功能,昨天又把编辑器更新到1月份的版本,然后构建就莫名出问题了。

关注一下我上面提的EditBox问题吧,有Demo,有真相。

spriteRender所使用的图片打成图集后,在使用动态加载某张图片,此时显示的情况是把整个图集显示出来了,而不是显示的加载的那张图片,麻烦看下是不哪里出错了。 看论坛里有人提出了这个https://forum.cocos.org/t/topic/155791

在自定义渲染管线下,使用Billboard或者2D贴图的材质,在进行分辨率较大的改变时,比如 setFrameSize或者setCanvasSize,都会让贴图消失 ,能问一下这个问题修复了吗,十二月份反馈过一次,没有后文了,3.8.2版本还是存在的

在3.8.0遇到个纹理缓存没有释放的问题,不确定新版本是否还存在。

问题描述

当某个节点同时存在 Label 与 LabelOutline 组件,且对 LabelOutline 属性进行过修改,并且该节点一直没有激活(创建后node.active设置false);则该节点被销毁时会出现纹理缓存没有正确释放的问题。

问题分析

  • 当 LabelOutline 的属性发生修改时,会触发 Label 的 _applyFontTexture 方法并创建出新的纹理对象(此处的Label使用默认的缓存模式);

  • 节点的active一直为false,则组件的 _objFlags 不会包含 IsOnLoadCalled 状态(即组件的onLoad方法没有被调用过);

  • 节点销毁时,只有包含 IsOnLoadCalled 状态的组件才会触发 onDestroy 方法。

  • Label 组件在 onDestroy 回调方法中对纹理缓存进行释放。

解决方案

在 Label 中重写 _onPreDestroy 方法,判断是否包含 IsOnLoadCalled 状态:

  • 包含,直接调用 super._onPreDestroy()

  • 不包含,尝试进行纹理缓存的释放。

检查一下自动图集相关资源,看有没有可复现的 demo 可以发来看看

cocos需要你这样的人才,一看你就是个做事非常严谨的小伙伴

请问3.8.2正式版,为什么我勾选了引擎分离选项后构建出来微信包主包反而变大了呢?回去试了一下3.8.1勾选之后主包大小是会变小的