I am having trouble adding materials to a list. My objects have multiple materials assigned to them and I am adding all of that to a specified list. The error I receive is cannot convert from 'UnityEngine.Material[]' to 'UnityEngine.Material'
. What am I doing wrong here?
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);
}
CodePudding user response:
GetComponent<Renderer>().materials
returns an array. But since you're using the Add
method you can only add one item at a time.
So either call Add
in a Loop, or just use AddRange
instead of Add
.