小功能⭐️解决Unity无法对一个物体上的所有材质球进行更改
Posted 小星河丨U3D开发支持
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小功能⭐️解决Unity无法对一个物体上的所有材质球进行更改相关的知识,希望对你有一定的参考价值。
文章目录
🟥 目的:
想实现将该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;
大家还有什么问题,欢迎在下方留言!
如果你有 技术的问题 或 项目开发
都可以加下方联系方式
和我聊一聊你的故事🧡
以上是关于小功能⭐️解决Unity无法对一个物体上的所有材质球进行更改的主要内容,如果未能解决你的问题,请参考以下文章