С материалами возиться таким способом как то грустно, тем более что материалы наложены в максе и каждый руками прописывать - жестоко.
Сделал проще - создал префаб, запихнул в него затекстуренную модель и загрузил как:
body = (GameObject)Instantiate(main.Korpus1, new Vector3(x, 0, z), Quaternion.EulerRotation(0, 0, 0));
апд
Сделал ещё проще - сразу через Instantiate загрузил модель, работает!
body = (GameObject)Instantiate(Resources.Load("Models/Player/Korpus1"), new Vector3(x, 0, z), Quaternion.EulerRotation(0, 0, 0));