【正式版本已发布】 Cocos Creator 3.8.4 社区公测帖

你的解释不通:
1、编辑器进入prefab 这时你说没有画布节点,所以看不到渲染效果,我能理解
2、可是为什么我随便打开一个其他预制体,也不是UI节点,再打开没能显示图片的预制体,又能显示了

这个不是设计的,是一个BUG

而且是陈年老窖般的bug

因为每次进入 prefab 都会去检查根节点是否是 UI 节点,如果有就会创建 Canvas(这个 Canvas 是看不见的,你可以在场景进程通过 cc.director.getScene().children, 他会多一个 “should_hide_in_hierarchy” 的节点)

这个有 demo 吗?或者我要如何复现?

testScreen383.zip (517.2 KB) testScreen384.zip (517.1 KB)

这两个项目代码是一样的,但横屏与竖屏切换的效果不一样
383版本
横屏时的展示


竖屏时的展示

看上去都很正常

但我们看下 384版本
横屏时的展示 此时两边多出黑边


竖屏时的展示 发现整体变小了

然后再切回横屏时的展示 整体变小了

明显是有问题的。

1赞

Demo.zip (716.7 KB)
这是刚弄的Demo,直接运行就会报这个错误

1赞

看demo没用的,看视频

https://wwhj.lanzouw.com/iKxxs29kq4ah

是这个吗?

浏览器与编辑器都没有报错

没错的,你可以在细看一下我的解释

就是每次双击进入到 prefab 都会去检测根节点是否挂载了 ui 组件,如果有就会创建一个看不见的 Canvas 节点,由于你新建的 prefab 根节点是空节点,所有它不会挂载 ui 组件,导致你后续添加 ui 组件他也显示不出来,需要重新再进才会创建 Canvas 节点

后续的优化可能会提供 2 个 prefab 菜单

  1. UI/2D Prefab
  2. 普通 Prefab

如果是创建第一个 Prefab 默认会帮用户创建一个 Canvas,但是不隐藏起来,禁灰让用户可见

不是,这是另一个问题,是这个问题,Cocos Creator 3.8.4 社区公测帖 - 2024.8.22
碰撞检测失效的问题

重新再进也不会创建啊

你看一下那个视频,当小正方体落地后,碰撞器域地面接触,胶囊体再进入这个小正方体的碰撞器,Enter函数没有触发,但是Exit函数触发了。而且在调整小正方体的碰撞器高度使之不与地面接触的时候,Enter函数才会生效

我说的是这个报错的复现

这个已经反馈给相关开发人员了


716.7kb的这个Demo是射线检测问题的复现demo

重新进是会创建的,你可以看一下他发的视频,重新进入是会显示 UI 的,会显示 UI 的原因是因为编辑器会创建一个隐藏的 Canvas 节点,然后把根节点放在这个节点下

好的,我用这个 demo 试一下, 2 个名字一样搞混了 :rofl:

其实应该是,如果是在编辑Prefab,添加ui/2d组件时,如果顶层没有Canvas,就自动添加个

所以3.8.4是延期到啥时候了。。。

才1个月,这周不发引擎组中秋节集体加班。

脑子有点迷糊了

为什么要区分

  1. UI/2D Prefab
  2. 普通 Prefab