weixin_39569894 2020-11-30 11:58
浏览 1

[BUG] camera.render(node) 方法存在的bug.

Creator version?(版本号)

2.3.2

Affected platform?(受影响的平台)

全平台

How to reproduce?(如何重现)

一个独立的2d摄像机( 不是Main camera) testCamera 伪代码


testCamera.targetTexture = renderTexture
testCamera.render(sprite)

此时 sprite应该被渲染到 renderTexture 上,
但是 屏幕上 还是出现了sprite , 而且是两个.

出现一个是正常的, 因为Main camera 也会渲染sprite . 但是 sprite 被绘制了两次, 通过 Spector.js 进行调试, 发现, 当 调用 testCamera.render 时, sprite被画到了屏幕上, 然后又被画到 renderTexture 上

接着 Main camera 又画了 其他东西 (因为其他东西优先级比sprite高) , 接着 又画了一遍 sprite(此时绘制sprite是正常的)

该提问来源于开源项目:cocos-creator/engine

  • 写回答

5条回答 默认 最新

  • weixin_39569894 2020-11-30 11:59
    关注

    以下Spector.js 里看到的具体过程

    那个分红的东西 是 sprite 红色的矩形是 renderTexture

    image (上面这步不应该出现)

    image (这步是正常的 符合预期的)

    image (上面这步不应该出现)

    image (通过地图镂空的地方, 可以看到 后面有 sprite)

    image (这步才是正确的绘制sprite的时机)

    评论

报告相同问题?