[Unity]GPU Instancing 无效的原因

参考:

GPU Instancing 深入浅出-基础篇(1) - 知乎

Unity GPU Instance踩坑记录_为什么gpuinstance画不出图像_拯救人类的技术宅的博客-CSDN博客

GPUInstancing在真机上失效问题_安卓手机 unity gpu instancing报错__hiJ的博客-CSDN博客

补充无效的原因:

对Material的任何属性不能直接访问或操作:

  1. 访问类似 enableInstancing 的值,使用 sharedMaterial 访问;
  2. 访问或设置 _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);

猜你喜欢

转载自blog.csdn.net/GrimRaider/article/details/132881437
今日推荐