-
Creator 版本:3.8.2
-
目标平台: 网页qq浏览器等
-
重现方式:不清楚
如图这样就不显示
图1
如果你复制一个相同的节点然后粘贴
图2
右上角多了一个Z 为-1000但是又不能设置。然后就可以正常显示。
然后如果你只保留图2,在安卓打包的时候这次轮到安卓不显示了。。。。。。
碰到一样的问题,楼主解决了吗
你反馈问题是 3.8.2,但是 title 又是 3.8.3,到底是哪个版本出现的问题?
3.8.3的 3.8.2哈哈哈哈
我这边遇到的情况是3.8.2、3.8.3都复现:
1.新建节点,属性没有position-z,此时通过用苹果设备真机浏览器预览(微信or safari)节点不能显示,安卓设备正常显示,打包到微信小程序也是一样的情况;
2.如果跟1楼一样复制粘贴(或者直接拖一个精灵资源去到层级里),节点会出现position-z(不可编辑),苹果和安卓设备均能正常显示
3.对比两节点只发现position-z这一处差异。尝试创建2D新项目,整个项目默认初始配置不动,仍遇一样问题
我刚用 3.8.3 新建 2d 工程测试了一下,可能复现步骤不一样,我没法出现复制节点后出现 position z 的情况啊。
2.如果跟1楼一样复制粘贴(或者直接拖一个精灵资源去到层级里),节点会出现position-z(不可编辑)
这个操作也没有出现问题。估计需要特定的复现路径。
感谢详细的截图,我复现了,的确是把节点拖进 camera 下才会出现 z。

2D 项目,不让改 2D 相机的 z,默认 2D 相机的 z 是 1000,我不确定是设计如此还是bug,理论上不应该去强制干预 camera 节点下的子节点的 z 的。但现在感觉强制为 camera 下的子节点设置了 -1000,保证他的 world pos 的 z 还是 0.
切换到 3D 视角下看看这些 2D 元素的布局是不是在一个面上?
对的,如果是直接在 Camera 下创建节点,那么节点的 local z 为 0,其 world z 跟 camera 一致。
如果是从外部节点拖动进 Camera 下,那么编辑器有默认的行为是保持 world transform 不变,比如从 Canvas 下的节点 Node1 local (0, 0, 0),拖动进 Camera,那么他的 local 就会变成 (0, 0, -1000),这样能保持节点还在 Canvas 的平面上。
出现你截图中这个一前一后,其实是一个 sprite 在相机的 near 面,一个在 far 面。canvas 默认在 far 面上。
如果是 sprite 直接在 camera 下创建的,在预览的时候不显示,这应该个bug,可以通过切换到3d视角,然后用 gizmo 调成负数的 z 坐标,让z 稍微离开相机位置即可绕过此 bug。
这个图有点魔幻。你选中其他节点,按下 f 聚焦一下看下。
一直放大出现了

一直放大又出现了

先出现的是没有Z的node,然后出现的是z-1000的节点。
2个节点都经过了摄影机。Z没有-1000的节点ios 不渲染。估计和上面的人情况一样
先建个 issue: [bug] Sprite created in Carmera node could not be shown · Issue #17437 · cocos/cocos-engine · GitHub
另外,你先尝试一下如下方法是否能绕过此bug:
切换到 3d 视角后,点中ios上不显示的节点,然后按 F 聚焦后,通过 gizmo 去稍微微调一下 z 值(gizmo 下可以调节,inspector 面板中是禁用的),让它靠近 canvas 一点,远离 camera 一点。
感谢解答,测试有效
我空的时候试一下你成功了吗?我没有苹果手机测试不方便。
用苹果机预览没问题,等会儿打包小程序看看
另外,这个问题应该是通用的问题。
如果构建 web-desktop 运行就没问题么?只有原生平台 iOS 才有问题?







