3.6.0 opacity为0时原生Draw call不会减少


这个跟你之前改的地方有点像

这样有错
改成

    auto* entity = static_cast<RenderEntity*>(rootNode->getUserData());
    if(entity->getOpacity()==0.0){
        return;
    }

后安装闪退了


加到walk前呢?

还是闪退1

能否来指点一下呢,这个解决了就可以正常使用3.6了

没啥报错信息?

还真没爆红


//加这里

    //加一行

    if (_currEntity) {

        if(_currEntity.getOpacity() == 0.0){

            return;

        }

    }

不闪退了,但dc没减少


//加这里

//加一行

if (entity) {

    if(entity.getOpacity() == 0.0f){

        return;

    }

}

//加上面几行

还不行就只有看大佬说法了,我这边连环境都没有没法看。

确实还是不行

刚刚我想到一个问题指针访问成员函数要 “->” 才对啊
//加这里

//加一行

if (entity) {

    if(entity->getOpacity() == 0.0f){

        return;

    }

}

//加上面几行

居然没报错???

我改成这样的所以没报错

auto entity = dynamic_cast<RenderEntity*>(rootNode->getUserData());
if(entity && entity->getOpacity()==0.0){
   return;
}

那就是版本问题了 先处理成 加个父节点 隐藏父节点

谢谢反馈,会在这个 issue 跟进 https://github.com/cocos/cocos-engine/issues/12469