首页 > 解决方案 > 将材料添加到列表

问题描述

我无法将材料添加到列表中。我的对象分配了多种材料,我将所有这些材料添加到指定列表中。我收到的错误是cannot convert from 'UnityEngine.Material[]' to 'UnityEngine.Material'. 我在这里做错了什么?

public GameObject[] myObjs;
private List<Material> myObjs_mats = new List<Material>();

void Start () {
         for(int i = 0; i<myObjs.Length; i++){
             myObjs_mats.Add(myObjs[i].GetComponent<Renderer>().materials);
     }

标签: c#unity3d

解决方案


GetComponent<Renderer>().materials返回一个数组。但是由于您使用的是该Add方法,因此一次只能添加一项​​。

所以要么Add在循环中调用,要么只使用AddRange而不是Add.


推荐阅读