参考:
GPU Instancing 深入浅出-基础篇(1) - 知乎
Unity GPU Instance踩坑记录_为什么gpuinstance画不出图像_拯救人类的技术宅的博客-CSDN博客
GPUInstancing在真机上失效问题_安卓手机 unity gpu instancing报错__hiJ的博客-CSDN博客
补充无效的原因:
对Material的任何属性不能直接访问或操作:
- 访问类似 enableInstancing 的值,使用 sharedMaterial 访问;
- 访问或设置 _Color 动态设置的值,使用 MaterialPropertyBlock 访问
// 设置
MaterialPropertyBlock props = new MaterialPropertyBlock();
props.SetColor("_Color", Color.red);
Renderer renderer = obj.GetComponent<MeshRenderer>();
renderer.SetPropertyBlock(props);// 访问,前提是设置过 MaterialPropertyBlock
MaterialPropertyBlock props = new MaterialPropertyBlock();
Renderer renderer = obj.GetComponent<MeshRenderer>();
renderer.GetPropertyBlock(props);