《乡村铁路》开发日志4-新地块
要点
地块渲染主要使用了RenderBatchGroup来避免过多的GameObject,并辅助以有BurstCompiler加持的裁剪函数以加速渲染。
细节
需求分析
目前有个需求是,我们可以在地图上绘制若干片不同类型的区域,对于每种区域,地块需要有不同的颜色叠加,我们需要给每个地块设置一个颜色属性。
所以目前就无法使用SRP Batcher来辅助合批了,因为这玩意目前并不支持通过MaterialPropertyBlock来设置PerObject的属性(给同一批次的每个渲染对象设置不同的属性)。当然SRP Batcher支持设置PerMaterial的属性,因此遇到使用同一个Shader的不同材质时,就可以对其进行合批,我会在之后其他元素的渲染时利用到这个特性。
我最终使用的还是传统的GPU Instancing的方案,这样就可以满足目前的需求了。


