Model 将一个动画模型中的多个网格合并为一个网格,即libgdx

Model 将一个动画模型中的多个网格合并为一个网格,即libgdx,model,3d,libgdx,mesh,Model,3d,Libgdx,Mesh,我得到了一些动画角色模型(不是我自己创建的),我在Maya中查看过它们,它们由5-7个单独的网格组成;身体、眼睛、斗篷、剑等。在libgdx中渲染的每个模型都会添加大约35个绘制调用。。。我想减少这个。我在想我应该把模型的所有网格合并成一个。我无法在Maya中执行此操作(好吧,它使用“合并网格”(combine mesh)功能工作,动画仍然很好,等等,但我无法在网格合并后将其导出到FBX,因此我无法将它们导入游戏)。所以我想也许有一种方法可以用代码来代替 是否有任何方法可以使用lbgdx代码合并

我得到了一些动画角色模型(不是我自己创建的),我在Maya中查看过它们,它们由5-7个单独的网格组成;身体、眼睛、斗篷、剑等。在libgdx中渲染的每个模型都会添加大约35个绘制调用。。。我想减少这个。我在想我应该把模型的所有网格合并成一个。我无法在Maya中执行此操作(好吧,它使用“合并网格”(combine mesh)功能工作,动画仍然很好,等等,但我无法在网格合并后将其导出到FBX,因此我无法将它们导入游戏)。所以我想也许有一种方法可以用代码来代替


是否有任何方法可以使用lbgdx代码合并/组合这些模型中的所有网格?我看过MeshPartBuilder.addMesh(),但据我所知,它不会将我添加的网格合并到一个网格中

MeshPartBuilder.addMesh
可用于合并网格的(部分)。但是假设你谈论的是蒙皮,那么它就不会像那样工作,因为骨骼信息会有所不同。您必须手动更新每个顶点的骨骼索引。最好将它们组合到建模应用程序中

除了在建模应用程序中合并网格之外,还有其他方面需要考虑。例如,网格的大小不应超过32k个顶点(用于索引的java

short
的最大值),否则fbx conv会将其拆分为更小的部分


同样,如果受12个以上骨骼的积极影响,fbx conv将分割网格。您可以使用
-b
命令行选项更改此选项。请参阅:

谢谢您提供此信息。你是否也认为一个动画模型需要35次抽签?正如我所说的,模型有几个网格,还有相当复杂的HIK骨架,当我包含动画时,这些骨架相当于相当大的fbx文件。从代码到优化动画3d模型,我能做些什么?考虑到我知道draw调用的数量是menever mind的一个瓶颈,我通过复制粘贴获得了工作链接(.单击时转到wiki主页)很好!现在应该修好了。