不好意思不要意思 点错场景了 有两个相同的场景名字
工程没清理干净,不好意思 
我喜欢水贴,不仅能学习新技术还能看大佬们交流经验。
彩蛋 
这么好的文章居然没在我的文件夹里吃灰?
大神 ,我用了该方法下,如果子节点是用了自定义顶点合批的assembler,然后子节点的shader加入了自定义的顶点参数后,一运行游戏就不断报说device.js:490 Can not find vertex attribute: xxxx ,这个要怎样解决呢?
检查下xxxx这个变量在effect文件里有没有定义,拼写是不是正确。
是正确的,如果关掉分层合批渲染 就 不会报了,shader 也正常运作
那就比较奇怪了,我的demo里子节点也是自定义顶点格式的。
你给个demo我看下。
@ccclass
@disallowMultiple
@menu("引擎扩展/渲染扩展/BFS渲染 BFSRenderCompon")
export default class BFSRenderCompon extends cc.Sprite {
onEnable() {
super.onEnable();
if (!CC_EDITOR && !CC_NATIVERENDERER)
this.node._renderFlag |= cc.RenderFlow.FLAG_POST_RENDER;
}
_resetAssembler() {
this.setVertsDirty();
let assembler = this._assembler = new BFSAssembler();
assembler.init(this);
}
}
这个类先这么改,按照我Demo里的写法,继承cc.Sprite给个单色图就行了。
至于为什么不继承cc.Component,细节太多,很难说清楚(我也忘了
)。
1赞
插眼 太牛了,兄弟
大神,我给的demo里还有一个问题就是组件下有一个节点改变透明度,然后让节点的二级子节点开始就不再跟随父节点更改透明度,我看了你的demo, 因为你的demo是做了切换场景的,是没有问题,但如果第一个场景就有分层合批,那透明度问题就出现了
然后怎么解决的
只是看看,没有去改_checkBacth。不影响运行。
战略MARK
MARKK!!
先mark在看
使用了_childBatcnRender之后的节点层级被变化了,导致遮挡情况不受控制。
大佬支持下3.8版本的