Unity中访问Renderer的material属性会给你额外创建一个材质实例,这样会增加一次渲染影响性能,但是有时又需要单独修改一个材质的参数,这种情况就可以使用Renderer的SetPropertyBlock。
MaterialPropertyBlock matPropertyBlock = new MaterialPropertyBlock(); meshRenderer.GetPropertyBlock(matPropertyBlock); matPropertyBlock.SetFloat("Brightness", 0.5f); meshRenderer.SetPropertyBlock(matPropertyBlock);