Camera子节点如果有widget组件则无法渲染

现象:
在Canvas下创建一个空节点,增加Camera组件,设置大小和Canvas一致,无其他修改
在Camera节点下,再增加一个sprite节点。随便放个图。
保存,可看到图片。

为sprite节点增加widget组件,设置左0,上下0。保存,看不到图片。

  • Creator 版本号:1.6.1

  • 目标平台:(Web / iOS / Android / 模拟器)Web(其他平台没试)

  • 详细报错信息,包含调用堆栈:无报错

  • 做了什么操作引起的 Bug:

  • 之前是否有哪个版本是没问题的:没用别的版本

  • 出现概率:100%

第二个问题

创建一个Tiled节点,扔一张地图上去。保存运行,可看见地图。
创建一个Camera,设置监视Tiled,保存运行,可看见地图。
修改Camera的zoomRatio为2(或者修改scale、skew都行。。),保存运行,黑屏。(如果修改为1.01,能看到部分地图)

Creator 版本号:1.6.1
目标平台:(Web / iOS / Android / 模拟器) Web
详细报错信息,包含调用堆栈:无
做了什么操作引起的 Bug:
之前是否有哪个版本是没问题的:

麻烦提交一个 demo

包含发现的三个问题。

bugs.zip (96.2 KB)

1.1 Camera 没居中是正常的,因为不在 Canvas 下的节点不会被居中
1.2 Camera 确实没有宽高,之后会考虑加回去,谢谢反馈
2 和 3 麻烦 @jjyinkailejj 检查下!

一部分沟通结果:如果用户用 tilemap 加上 rotation / skew,就让它手动关闭 culling
方法是修改:cc.macro.ENABLE_TILEDMAP_CULLING = false

感谢大大,不过,我有个建议,类似这种限制性的开关选项,能否在creator中给予提示?或者说,做的更友好一些,直接把这个选项初始化为符合条件的值?

理论上是可行的~

而且,关闭自动裁剪,就表示大的瓦片地图会全部渲染。。。 降低效率换取功能可行?
是否有后续计划,在不关闭自动裁剪的的功能开关,同时支持摄像机的相关属性调整呢?

嗯,确实还是应该再简化一些

skew 和 rotate 地图不是很常见吧?这个应该问题不大

摄像机的什么属性?

我更关心的是关闭自动裁剪,会完整渲染瓦片地图,占用不必要的资源。从官方给的升级说明上看,帧率能从50提升到60.非常可观,希望在实现某些功能的同时不丢掉这么好的性能。

zoomRatio属性~ 这个属性太常用了。。。 我就是通过调整这个属性发现的问题,然后,又试了试其他的属性,发现也存在问题。才反馈的~

期待creator持续优化~ :relaxed:

看来 zoomRatio 也会对 culling 有影响,也要关闭 culling 才行。。。

zoomRatio 昨天修复了的

https://github.com/cocos-creator/engine/pull/1974/commits/19d0b45dc9b4226a849f0ffb1d30c2764de1061f

1赞

这个要在哪个版本的creator才能用上?

1.6.2

1赞

get,感谢引擎团队的努力~~