[已发布] Cocos Creator 3.8.6 社区版公测贴【3.14】

模拟器是预编译使用box2d wasm的,你构建一个原生平台验证吧

Label组件 当缓存模式使用CacheMode.BITMAP或者CacheMode.CHAR 时, 操作这个节点显隐会打断合批。应该是材质渲染材质判断不通过,导致无法合批。暂时在隐藏时调用UIRenderer.setMaterial(null, 0); 重置后,在显示就可以合批。
demoLabelBatch.zip (15.6 KB)
点击按钮等待1秒观察dc变化 @dumganhar

使用box2d jsb ,将文件替换到3.8.6中,以及修改的浮力脚本,现在web 设置为内置,模拟器设置box2d ** 都不能跑起来。


我这边在android studio中打包,运行起来无效果,报错提示:
你那边验证过了吗?

又发现一个问题,现象是,在 Tween 动画过程中设置 spriteFrame,会报错:

 properties of null (reading '_uiProps')
//
load(bundleName, imagePath, SpriteFrame, (err, spriteFrame) => {
            if (err) {
                console.error(err);
            } else {
                sprite.spriteFrame = spriteFrame;////  异常断点在这里
                callback && callback();
            }
        });

sprite.spriteFrame = spriteFrame; 设置断点,不报错。
原因不知道,我回退到 3.8.5 就好了。

你的Tween怎么写的?

@3400142659 @xiangheka

可以通过 【致死BUG】大点的项目编辑器拖放赋值Sprite卡顿5s~10s ,这个 pr 进行修复,387 不会在自动查询自动图集

安卓平台删除带 Spine 组件的节点会导致崩溃。

Spine 资源版本:v3.8.99
引擎 Spine 版本:Spine 3.8

堆栈:

       ----- pid 9311 tid 9349 at 2025-04-17 15:43:24.682981514+0800 -----
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A  Cmd line: com.wm.diner
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A  ABI: 'ARM64'
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x0  00007c6d7d025844  x1  00007c6dd043a668  x2  0000000000000040  x3  ffffffffffffffff
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x4  0000000000000006  x5  0000000000000000  x6  0000000000000006  x7  0000000000000037
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x8  00007c6ec9c53990  x9  0000000000000000  x10 00007c6dd043a290  x11 0000000000000040
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x12 0000000000000006  x13 0000000000000083  x14 0000000000000000  x15 0000115900f6ac79
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x16 00000000073e1500  x17 00000000058439fc  x18 0000000000000000  x19 00007c6f6a3f3d50
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x20 00007c6f6a3f5d10  x21 0000000000000002  x22 0000000000000005  x23 000000000000002d
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x24 0000000000000020  x25 0000000000000000  x26 00007c709ecf1470  x27 0000115900182191
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      x28 0000115900000000  x29 00007c6dd0439fd0  lr  000000000587b8cc  sp  00007c6dd043a6d0
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A      pc  0000000005827afc  pst 0000000000000000
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A    
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A        #00 pc 0000000002783afc  /data/app/~~Ljax_yUmibvVVmqWK9hQ9Q==/com.wm.diner-muCzt9iNOj-b-1Cadq9HDQ==/lib/arm64/libcocos.so (cc::middleware::MiddlewareManager::render(float)+224) (BuildId: 9c6b45be28f9ddc21b007dae5ca038f1f2612341)
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A        #01 pc 00000000027d78c8  /data/app/~~Ljax_yUmibvVVmqWK9hQ9Q==/com.wm.diner-muCzt9iNOj-b-1Cadq9HDQ==/lib/arm64/libcocos.so (cc::SkeletonRenderer::render(float)+92) (BuildId: 9c6b45be28f9ddc21b007dae5ca038f1f2612341)
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A        #02 pc 0000000002783b18  /data/app/~~Ljax_yUmibvVVmqWK9hQ9Q==/com.wm.diner-muCzt9iNOj-b-1Cadq9HDQ==/lib/arm64/libcocos.so (cc::middleware::MiddlewareManager::render(float)+252) (BuildId: 9c6b45be28f9ddc21b007dae5ca038f1f2612341)
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A        #03 pc 0000000002f12e7c  /data/app/~~Ljax_yUmibvVVmqWK9hQ9Q==/com.wm.diner-muCzt9iNOj-b-1Cadq9HDQ==/lib/arm64/libcocos.so (BuildId: 9c6b45be28f9ddc21b007dae5ca038f1f2612341)
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A        #04 pc 00000000030de5d8  /data/app/~~Ljax_yUmibvVVmqWK9hQ9Q==/com.wm.diner-muCzt9iNOj-b-1Cadq9HDQ==/lib/arm64/libcocos.so (jsbFunctionWrapper(v8::FunctionCallbackInfo<v8::Value> const&, bool (*)(se::State&), char const*)+464) (BuildId: 9c6b45be28f9ddc21b007dae5ca038f1f2612341)
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A        #05 pc 0000000002f12cd8  /data/app/~~Ljax_yUmibvVVmqWK9hQ9Q==/com.wm.diner-muCzt9iNOj-b-1Cadq9HDQ==/lib/arm64/libcocos.so (js_cc_middleware_MiddlewareManager_renderRegistry(v8::FunctionCallbackInfo<v8::Value> const&)+36) (BuildId: 9c6b45be28f9ddc21b007dae5ca038f1f2612341)
2025-04-17 15:43:24.684  9311-9349  DEBUG                   com.wm.diner                         A        #06 pc 0000000003f28528  /data/app/~~Ljax_yUmibvVVmqWK9hQ9Q==/com.wm.diner-muCzt9iNOj-b-1Cadq9HDQ==/lib/arm64/libcocos.so!libcocos.so (offset 0x3f19000) (BuildId: 9c6b45be28f9ddc21b007dae5ca038f1f2612341)
2025-04-17 15:43:24.706  9311-9311  Thread-1                com.wm.diner                         I  type=1400 audit(0.0:8183): avc: denied { getattr } for path="/dev/vaddress" dev="tmpfs" ino=10674 scontext=u:r:untrusted_app:s0:c39,c256,c512,c768 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
2025-04-17 15:43:24.736  9410-9410  ps                      pid-9410                             I  type=1400 audit(0.0:8184): avc: denied { read } for name="stat" dev="proc" ino=17292 scontext=u:r:adbd:s0 tcontext=u:r:webview_zygote:s0 tclass=file permissive=1
2025-04-17 15:43:24.736  9410-9410  ps                      pid-9410                             I  type=1400 audit(0.0:8185): avc: denied { open } for path="/proc/1733/stat" dev="proc" ino=17292 scontext=u:r:adbd:s0 tcontext=u:r:webview_zygote:s0 tclass=file permissive=1
2025-04-17 15:43:24.736  9410-9410  ps                      ps                                   I  type=1400 audit(0.0:8186): avc: denied { read } for name="stat" dev="proc" ino=20286 scontext=u:r:adbd:s0 tcontext=u:r:permissioncontroller_app:s0:c31,c256,c512,c768 tclass=file permissive=1
2025-04-17 15:43:24.810  9311-9385  AudioMixerController    com.wm.diner                         V  Play over ...
2025-04-17 15:43:24.810  9311-9385  AudioMixerController    com.wm.diner                         V  Doesn't have enough tracks: 1, 1
2025-04-17 15:43:24.870  9311-9349  DEBUG                   com.wm.diner                         A  
                                                                                                    ----- end 9349 -----
2025-04-17 15:43:24.873  9311-9349  SIGNAL_LOG              com.wm.diner                         I  dump signal file ok! path: /data/tombstones/app/com.wm.diner/10039.log
2025-04-17 15:43:24.873  9311-9349  libc                    com.wm.diner                         A  Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x279 in tid 9349 (Thread-1), pid 9311 (com.wm.diner)

请查看这个 PR 的修改,应该修复了

1赞

实测 v3.8.6 问题依然存在

@dumganhar 现在3.8.6用 Mask组件在原生平台上会有问题。当设置Mask节点active = false后再把Mask节点active 设置为true后蒙板在原生平台会失效,但在web上就正常。3.8.5是web和原生平台都正常的。附上demo,有一个蒙板节点以及一个按钮点击会设置蒙板active属性。NewProject6.zip (32.6 KB)

编辑器节点旋转与矩阵计算预期的坐标系不一致。
image
image image image
cocos creator 编辑器节点旋转:图片依次是累加0旋转,x,y,z 轴90度

矩阵计算正确预期如下:

@dumganhar @minggo 是设计问题,还是我的计算逻辑存在问题?

场景摄像机 Gizmo报错,x,y,z箭头乱点几次

有问题请上传demo,并描述复现流程,谢谢

Demo-setSlotTexture.zip (999.2 KB)

复现:

  1. 先替换 A,再替换 B
  2. 勾选 createNew 重复测试
  3. 切换场景重复测试

安卓平台测试结果:

createNew = false createNew = true
场景 1 AB 一起替换 :heavy_check_mark:AB 分开替换
场景 2(餐桌) AB 一起替换 :x:不替换

推断:两个场景测试结果不同考虑和资源制作本身存在关系?

场景 2, ab一起替换 并且 createNew = false 是ok的?
ab 一起替换,createNew= true才有问题?

有复现的视频,看一下具体的操作吗?

只有 AB 能够分开替换才是 OK 的(满足需求), createNew = false 的时候一起替换,我无法判定是不是设计如此。但是 Web 平台 createNew = false 的时候是分开替换的

360截图20250421103813044
不能一下复现,x,y,z,中间正方体乱点就能偶现。可以提供导致报错文件scene.zip (1.2 KB),新建一个空项目,替换到NewProject\profiles\v2\packages\scene.json

有 3.8.7 的规划了吗 :laughing:

createNew = false, 由于skeleonData 在c++是一个对象,不同的spine对象,使用了同一个skeletonData, 更改了这个skeletonData所属的 slot对应的attachMent,影响的是所有的spine 对象。