Unity 通过代码为一个物体添加多个材质球materials
程序员文章站
2024-01-17 11:59:58
...
Unity 通过代码为一个物体添加多个材质球materials
Unity的MeshRenderer提供了Materials数组,支持同时挂多种材质。这样做的目的是,为含有Mesh对象的多个SubMesh使用不同的材质,渲染不同的效果:
需要添加多个Material直接在对象的Inspector窗口修改Materials的Size,然后把待添加的材质拖入Element选项框即可。
在脚本中获取Materials数组的方法:
//创建子物体GameObject
GameObject tem = new GameObject();
tem.name = "test";
//获得父物体组件,材质数组挂在父物体上
tem.transform.parent = this.transform;
//为物体添加材质
MeshRenderer mr = tem.AddComponent<MeshRenderer>();
Material[] materials = tem.transform.parent.GetComponent<MeshRenderer>().materials;
mr.materials = materials;//添加多个材质