动态批处理
最終更新: 2026年10月20日
在Cubism 5 SDK for Unity R6或更高版本中,您可以启用自定义动态批处理功能来提高性能。
概述
由于绘制处理的特性,Cubism 5 SDK for Unity R5无法利用Unity的动态批处理或SRP Batcher。
Cubism 5 SDK for Unity R6或更高版本实装了批处理功能,可以在绘制时尽可能动态地对Drawable的Mesh顶点进行分组。
这可以减少对Drawable的绘制调用次数,从而提高性能。
使用方法
要么向任意Universal Render Data资产追加CubismRenderPassFeature,要么确认检查器中的Assets/Live2D/Cubism/Rendering/URP/CubismURPRenderer.asset。

接下来,启用Enable Batching。
动态批处理有效运行的条件
动态批处理要正常运行,必须满足一些条件。
物体特定条件
- 该物体必须是Drawable。
- 不支持离屏绘制。
- 未应用蒙版。
- 未使用Cubism 5.3中追加的混合模式。
它必须与之前绘制的Drawable对象处于相同的条件下
- CubismRenderer.DrawMaterial(如果为null,则为CubismRenderer.Material)
- CubismRenderer.MainTexture
- CubismRenderer.DisplayedMultiplyColor
- CubismRenderer.DisplayedScreenColor
- CubismRenderController.CurrentFrameBuffer
- 无论是否使用离屏绘制,实际的绘制目标必须与之前的Drawable相同。
- CubismRenderController.Opacity
其他条件
- 在绘制前一个物体和绘制当前物体之间,未使用绘制中断功能。
- 批量处理对象的Drawable数量必须大于或等于BatchThreshold中设置的数量。
- 当跨越多个模型时,这些模型必须共享同一个Grouped Sorting Index。
请问这篇文章对您有帮助吗?
是否