1

我有一个场景,比如我有一堵墙,每当玩家撞到墙时,它就会掉成碎片。每一块都是那堵墙的子 GO。每一块都使用相同的材​​料。所以我尝试了动态批处理但是它并没有减少绘制调用。

然后我尝试了 CombineChildren.cs,它工作并组合了所有网格,从而减少了绘制调用,但是每当我的播放器撞到墙上时,它就不会播放动画。

我无法从这个 wiki 尝试 SkinnedMeshCombiner.cs 和这个链接的答案检查这个

因为我的游戏对象有网格渲染而不是蒙皮网格渲染

我可以为此做任何其他解决方案吗?

4

1 回答 1

0

所以我尝试了动态批处理,但它并没有减少绘制调用。

如果您想减少移动对象的绘制调用,动态批处理几乎是唯一的方法(除非您尝试自己实现类似的东西)。但是,如文档中所述,它有一些限制。

特别:

  • 要批处理的对象的顶点数限制
  • 所有必须共享相同的材料(不是相同材料的不同实例 - 一定要检查这个)
  • 没有光照贴图的对象
  • 没有多通道着色器

确保满足文档中列出的所有限制,然后动态批处理应该可以工作。

然后我尝试了 CombineChildren.cs,它工作并组合了所有网格,从而减少了绘制调用,但是每当我的播放器撞到墙上时,它就不会播放动画。

那是因为在组合之后,所有的游戏对象都被组合成一个唯一的对象。你不能再单独移动它们了。

于 2013-06-26T12:08:13.553 回答