Unity中訪問Renderer的material屬性會給你額外創建一個材質實例,這樣會增加一次渲染影響性能,但是有時又需要單獨修改一個材質的參數,這種情況就可以使用Renderer的SetPropertyBlock。
MaterialPropertyBlock matPropertyBlock = new MaterialPropertyBlock(); meshRenderer.GetPropertyBlock(matPropertyBlock); matPropertyBlock.SetFloat("Brightness", 0.5f); meshRenderer.SetPropertyBlock(matPropertyBlock);