201111 Unity GPU Instancing

概念:使用 GPU 实例化可使用 少量 绘制调用 一次绘制(或渲染)同一网格的多个副本。它对于绘制诸如建筑物、树木和草地之类的在场景中重复出现的对象非常有用。


好处:在每次绘制调用时仅渲染相同的网格,但每个实例可以具有不同的参数(例如,颜色或比例)以增加变化并减少外观上的重复。 GPU 实例化可以降低每个场景使用的绘制调用数量。可以显著提高项目的渲染性能。


使用:在 Inspector 中勾选 Enable Instancing 复选框。 (着色器支持 GPU 实例化时,Unity 才会显示此复选框,包括标准 (Standard)、标准镜面反射 (StandardSpecular) 和所有表面着色器)(不支持 SkinnedMeshRenderer。)


比较:静态批处理 :物体不能移动旋转缩放,消耗内存 存储合并后的物体。

           动态批处理:有顶点数限制,适合简单 顶点个数少的模型,动态合批需要使用相同的材质,如果使用的是相同的shader参数不同则不是同一个材质,会打破合批,导致性能下降,GPU Instancing允许材质有不同参数


*****风吹草动******

       在模型顶点的世界坐标里加上用正弦或者余弦函数(随时间,风力)计算出来的一个偏移值,要固定住草的根部,要用的模型的UV了,根部的V值设为0不会有移动,用一张噪声贴图来模拟风浪的效果,实现就是草顶点的世界坐标做偏移来采样噪声贴图。


你可能感兴趣的:(201111 Unity GPU Instancing)