文章目录
🟥 目的:🟧 错误方法:🟨 正确方法:🟥 目的:
想实现将该cube上的所有材质球New Material换成change材质球
🟧 错误方法:
获取到MeshRenderer,对GetComponent().materials[i]挨个进行赋值。
我们运行后发现,项目不报错,但材质球并没有替换为change。而是将原材质球实例化了一下。也并没什么用。
🟨 正确方法:
对materials的整个数组进行赋值。而不是它其中的单个值。
代码示例:
using UnityEngine;public class test : MonoBehaviour {[Tooltip("想赋的材质球")]public Material material;void Start () {Material[] tempMaterial = new Material[GetComponent<MeshRenderer>().materials.Length];for (int i = 0; i < tempMaterial.Length; i++){tempMaterial[i] = material;}GetComponent<MeshRenderer>().materials = tempMaterial;}}
大家还有什么问题,欢迎在下方留言!
如果你有 技术的问题 或 项目开发
都可以加下方联系方式
和我聊一聊你的故事🧡