[0]Laya 3.0在骨骼动画,一个材质一个mesh,没有子mesh,用的是Unlit shader,但会引起6个批次,正常应该是一个批次的

,Laya在骨骼动画中,只有一个材质一个mesh,没有子mesh,shader也是用引擎的Unlit,没有受光和阴影,面数也是二千多面,骨骼59根,但产生了6个批次,相同的mesh,放到Unity中,只有一个批次,不知道是什么情况,请官方给说明一下,否则我们出模型规范时都不知道如何给美术出,这合批是受什么影响的,如我提供的例子,把12000000模型关掉,空的场景是3个drawcall,模型12000000显示变为9个drawcall,那就是12000000模型6个drawcall,但这样的在unity中是一个drawcall的
已邀请:

Laya_Fred

赞同来自:

您好,这个模型是6个DrawCall的,计算方式是模型共59根骨骼,我们在CPU内计算好骨骼的矩阵,通过uniform来传递参数进行绘制的,由于uniform的个数限制,我们限制u_Bone的个数为24个,绘制中每个三角形顶点可能引用的骨骼数量不一定,所以我们是分了6批进行绘制的。您可以在laya.d3.js里面的LoadModelV05类的READ_SUBMESH方法在读取lm的时候看到分批的数量,如下图:
Snipaste_2023-11-16_11-48-52.png

 

要回复问题请先

商务合作
商务合作