UI渲染合批分享(纯抄袭)


在这篇文章中,大佬主要实现了通过自定义渲染顺序来达到合批的效果,大佬非常慷慨的给出了实现代码来让大家去对比修改文件差异来实现功能。

刚好最近也有一个需求需要实现此效果,用了git来管理分支,实现了3.8.1和3.8.2两个自定义引擎版本,没有什么原创的东西,纯抄袭,为了让大家更好抄,为此

https://gitee.com/Z2105873459/cocos-node-custom-sorting/tree/test/

我把git开源了下,有需要的可以自己去下载,对比提交记录来看具体修改那些地方来实现该效果(只有test分支有用)。

5赞

喜欢这方案是真好

cocos-engine-3.8.5 无用的意思是?没有实现还是3.85自带

我没用到,懒得适配到3.8.5了,给了3.8.1和3.8.2的示例,足够对照git修改应用到其他版本了

想适配前问一下,这个depth,会不会影响到node的前后排序

会,本质上就是在渲染前对节点根据depth来重新排序

1赞

最大受益是文字置顶,

其次对静态也非常的友好 (容易确认调整depth),

其他使用环境,是需要人工调整depth,注意保证原层级遮挡关系

一直注意到了您在商城的合批项目,我的是像coc那种2.5d,根据y轴来排序,场景中要显示的建筑很多,您的项目是否能在不影响前后排序的前提下优化dc

你是用是 sprite 做的吗?
不影响你排序的顺序,用的是原引擎节点顺序

我是这种,因此节点的前后排序是绝对不能变的,就像这城墙,每个都是sprite。我在引擎中写了这样的一个方法,固定频率对node进行前后排序,


你看你的项目能不能在我的游戏上奏效,一直想买,一直又有些担心达不到效果

有效,没什么影响,你排序早已经生效。

我也是在绘画渲染前进行收集,在你的后面。

你的项目要不要手动调整depth,还是一键放入就不用管了。
我场景中的元素极多,无法使用动态合图,远超2048*2048

是的,你已了解很详细。

其实, 我也关注学习论坛各种方案,

排 depth 效率是非常高,写得非常棒,十分精简。

我这两天想起来的时候就想买了试试,但都是搞技术的,如果无效,我怕我气的抽我自个,倒不是钱的事。
就算当前依然还在纠结要不要试试。

可以先加我微信,再详细了解,分析下合不合适

image

这玩意官方为啥不实现。。

确实好方案

可能要考虑很多方面吧,节点层级,渲染顺序,触摸响应的顺序

:crazy_face:

1赞

感谢大佬提供的实现代码 :nerd_face: :+1: