/// <summary>
/// 需要用到的材质数据
/// </summary>
List<Material> MaterialList;
MeshRenderer meshRenderer= ibj.GetComponent<MeshRenderer >();
//错误做法
for (int i = 0; i < 6; i++)
{
Material[] materials = meshRenderer.materials;
materials[i] = MaterialList[i];
}
//真确做法
meshRenderer.sharedMaterials = MaterialList;//直接修改数据
这篇博客探讨了在Unity中管理材质的两种方法:错误地直接修改`MeshRenderer.materials`和正确地使用`MeshRenderer.sharedMaterials`。文章通过示例代码展示了如何避免在更新材质时导致不必要的内存分配,强调了正确使用`sharedMaterials`属性的重要性。
2万+





