突然就打不开了

也是这样的
[Scene] open scene failed 1332853b-a9a7-4444-907a-9829546c9f62 TypeError: Cannot read property ‘_prefab’ of null at PrefabUtil.findOutmostPrefabInstanceNodes (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:14702)
at K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15048
at Array.forEach ()
at K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15031
at Array.forEach ()
at PrefabUtil.findOutmostPrefabInstanceNodes (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15011)
at K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15117
at Array.forEach ()
at PrefabUtil.findOutmostPrefabInstanceNodes (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15100)
at K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15258
Error: [Scene] open scene failed 1332853b-a9a7-4444-907a-9829546c9f62 TypeError: Cannot read property ‘_prefab’ of null
at K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15031
at Array.forEach ()
at PrefabUtil.findOutmostPrefabInstanceNodes (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15011)
at K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15117
at Array.forEach ()
at PrefabUtil.findOutmostPrefabInstanceNodes (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15100)
at K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\prefab\utils.ccc:1:15258
at Logger._logHandler (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\manager\startup\log.ccc:1:318)
at Logger.record (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\node_modules@base\electron-logger\lib\renderer.ccc:1:458)
at console.error (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\node_modules@base\electron-logger\lib\renderer.ccc:1:1414)
at SceneFacadeManager.openScene (K:\CocosDashboard\resources.editors\Creator\3.6.0\resources\app.asar\builtin\scene\dist\script\3d\facade\scene-facade-manager.ccc:1:6695)

1赞

回退版本 3.5.2 的话也会这样吗 ?
如果新建一个空项目, 然后搜索一下 UUID 为 584d33d3-d1ae-4602-bb57-354a9d42adbe 的预制体,
然后把这个 prefab 放进去, 能运行吗 ?

就像这样搜索

image
image

1赞

回退3.52的话,错误更多,只能先重写了

1赞

:upside_down_face:
这样看来还是不能轻易升级呀, 太不安全了

这个错误的 prefab 文件能发给我们么?可以尝试修复一下

邮箱多少?我发给你

sijie.wang@cocos.com

把prefab 全删掉一个个加回来,哪个报错就是哪个有问题啊

论git的重要性

我用3.6.1版本也遇到了这个问题,3.5.2版本正常,表现如下

若prefabA引用了prefabB,B上面绑了一个脚本C,在加载A时,就B物体上面的脚本C很奇怪的就变为null,

comp本应该是自己写的脚本C,现在C为空,所以__prefab也就不存在了

望官方可以给个答复

网页调试没问题,在微信小游戏真机上和PC开发者工具都会报错

prefabB 是节点还是资源?加载 A 是 load 还是 instantiate?能给个 demo 吗?

A和B都是节点,C是自定义脚本组件,加载是先load再instantiate。prefab都是放在远程服务器。
如果是cocos自带的组件就不会空,例如sprite、widget,自定义的组件是null。

我不肯定是否是prefab的问题,或许是加载的方式,项目结构等等,这是公司的项目,单独抽离出一个demo不太容易,3.5.2及之前的版本是没有问题的

网页调试没问题,数据应该是对的。你试试打包成web版,远程包和非远程包分别勾选,看看是不是资源加载过程的问题

打包web手机端,无论是远程包和非远程包,跟微信小游戏开发者工具里面的报错都是一样的


prefab的节点树是没问题的,组件上cocos自带的组件也没问题,唯独是自定义的脚本为null,感觉是脚本没加载好就挂上去了

这个报错的原因是_component里出现了null,但是为什么会是null,可能是其他原因导致的?你看看构建日志里有没有报错信息,网页调试时和打包后用的资源是不一样的,我怀疑是打包后出现的问题。如果可以的话麻烦提供一个demo,这样定位问题会快一些


打包时报了很多错,其中第二条就是我讲的那个prefab,prefab名字叫做AssetUI,它上面也绑了一个叫AssetUI的自定义component,详细信息如下:

但是vscode里面没有报错,网页调试也没问题,就是打包出了问题

好的,这边排查一下是什么问题

这个错误是因为加载不到这个脚本报的,这个些脚本都正常导入了吗?