3.3.2创建prefab拖拽图片两次表现不一致

  • Creator 版本: 3.3.2

  • 重现方式:

  1. 在资源管理器右键创建一个prefab,调整大小为设计分辨率;
  2. 为其添加一个widget组件,然后对齐到0,0,0,0,此时首次的时候发现其position为 designSize.width / 2, designSize.height / 2,此时拖一张图片就会自动生成一个canvas,然后其次才是sprite;
    image
  3. 多次关闭重开该prefab,直到prefab的position变成0, 0后,再次拖拽sprite,此时直接绑定在根节点之下;
    image
  • 重现概率: 必现

然后还有我在资源管理器中创建一个prefab b,然后将prefab a中的一些节点拷贝到prefab b中,完全找不到

是我的操作方式有问题还是什么原因呢?

自己顶一下


prefab a中的节点拷贝到prefab b中,我试了下,是正常的。先打开prefab a ,拷贝节点,再打开 prefab b,黏贴,正常。

拖拽图片到prefab中会生成canvas是已知问题,后续版本会有优化


我这边复制的表现是这个样子,b那个prefab的节点树上看不到节点, 然后如果b没有挂载UITransform就拷贝一个2d节点的话也不会提示让创建UITransform或者canvas。
粘贴的话用的ctrl+v。

好的,感觉这个影响挺大的,2.x版本的开发习惯。。

明白你说的问题,初始 prefab 资源进入编辑时,会判断 prefab root node 根节点是否含有 UITransform 组件,会提供一些更便捷的辅助措施,比如自动添加一个看不见的 canvas 节点以便后续 UI 节点添加进来后可以直接在场景中显示,但是这里有一个问题是我们暂时没处理好的:对 prefab root node 动态添加或删除 UITransform 组件,并不会对初始的辅助措施进行调整,这个问题我们有在跟踪。

1赞

嗯嗯,好的,谢谢

这个问题啥时候修复呢? 3.4.0我试了下还是存在, 都没办法快乐的cv了

抱歉这个问题 3.4 没能上车。对粘贴的节点数据,目前没有去识别该节点数据及其父节点数据的特征,之前 UI 节点的上级节点没有 canvas 的时候会辅助做了可以显示的处理(如我上面的回答),但现在要在粘贴这种通用行为里也加这种行为,有点 hack,解决方案还在讨论中,再耐心等等,不那么开心地 cv ,也是严谨的体现哇 :sweat_smile:

1赞