
我试着去修改预制体的Layer层级,但不管如何修改,始终会回到UI_2D层级,3.0是不支持这样修改了么
试过再生成预制体的时候,修改他的层级,但还是会变回UI_2D
我重新制作了一个新的预制体,只要他变成预制体,层级就会被修改成UI_2D,请问这个有什么办法解决么
你好,这是一个迁移的脚本引擎的问题。
你可以打开项目中的migrate-canvas.ts文件:

然后在上面:
import { EDITOR } from 'cc/env';
再改一下这段代码:

if (!EDITOR) {
cc.Node.prototype.setParent = function(value, keepWorldTransform) {
setParentEngine.call(this, value, keepWorldTransform);
if (!value) return;
// find canvas
let layer = getCanvasCameraLayer(this);
if (layer) {
this.layer = layer;
setChildrenLayer(this, layer);
}
}
}
这样是可以修改了,但用代码生成的预制体,还是会出现这个问题
代码生成的,如果SetParent到一个Canvas底下,你是想不和那个Canvas的Layer一样?
是的,请问这样有什么方法做到么
你可以删除这个migrate-canvas.ts文件,这个是为了兼容以前的UI使用,如果删除后对你项目没有影响,完全可以直接删除~
还有一个问题,删掉之后我发现我自定义的Laber层级不会被渲染到,请问这个怎么解决呢
需要Camera的Visibility要钩上你自定义的Layer
已解决,十分感谢您的帮助
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。