creator3d同一个模型多次创建怎么合并drawCall

很不科学啊,同一个模型多次创建,drawcall竟然爆高。一些简单的东西突破一百都很随意的。不是应该只有一个drawCall吗

哪位大佬好心搭理下我啊

应该是哪里被打断了吧,不懂帮顶。。。

目前的 batching 实现依赖于 uniform 传递 model matrix,由于部分平台比如 iPhone 6,7 等的 uniform 数量限制,只能合批 10 个左右的模型。

Batching 有很多种方案,目前我们实现的是比较简单的一种,未来还会考虑其他的可能性。

如果希望提高性能可以考虑尝试 v1.1 中的 GPU Instancing 功能

大佬,具体要怎么做啊,编辑器里设置什么参数还是代码里怎么做。10个也好啊,总比现在动不动一百多的好。

对于动态物体使用动态合批,材质中的 USE_BATCHING,对于静态物体,使用静态合批,这些都在下面的文档中,其实搜索合批也是能搜到的

https://docs.cocos.com/creator3d/manual/zh/engine/renderable/model-component.html#关于动态合批

USE_BATCHING 时锁着的没法操作怎么弄。我以为是引擎版本比较旧,升级到1.0.4还是不行啊

不应该被锁啊,是新建的Material吗?

引擎内置的肯定让你改啊,复制一份出来自定义吧,

内置的不让改,

需要 dumpMaterial

https://docs.cocos.com/creator3d/manual/zh/asset/mesh.html#material-模块

关于合批,因为和具体需求与场景和资源强相关,引擎默认是全都不启用的,我们只提供必须的工具和框架,优化路线完全交给开发者自行选择。所以在什么都不开启的状态下,drawcall 自然是无脑累积的。

另外合批文档也更新了,有更详细的指导,目前可以直接到文档仓库了解~

您好,想问下,静态合批之后部分材质丢失这种情况又遇到过么