Jak zmienić drugi materiał w obiekcie?

Ogólne pytania na temat Unity3D

Jak zmienić drugi materiał w obiekcie?

Postprzez TreektusPL » 22 Sie 2019, 11:40

Witam.
Mam jeden obiekt, posiadający dwa materiały. W komponencie MeshRenderer znajduje się tablica Materials wraz z dwoma elementami. Materiał pierwszy (Element 0) można zmienić za pomocą kodu:
Kod: Zaznacz wszystko
public Material ColorLight;
gameObject.GetComponent<MeshRenderer>().material= ColorLight;

Problem mam ze zmianą drugiego materiału za pomocą skryptu. Próbowałem użyć kodu:
Kod: Zaznacz wszystko
gameObject.GetComponent<MeshRenderer>().materials[1] = ColorLight;

lecz nie dostałem mojego oczekiwanego rezultatu.
TreektusPL
 
Posty: 41
Rejestracja: 23 Wrz 2018, 20:16
Has thanked: 0 time
Been thanked: 0 time

Re: Jak zmienić drugi materiał w obiekcie?

Postprzez EvilArev » 22 Sie 2019, 12:43

Spróbuj przypisać całą tablicę:
Kod: Zaznacz wszystko
Material[] materials = new Material[] {pierwszyMateriał, drugiMateriał};
gameObject.getComponent<Renderer>().materials = materials;
EvilArev
 
Posty: 381
Rejestracja: 14 Kwi 2013, 15:32
Has thanked: 0 time
Been thanked: 0 time

Re: Jak zmienić drugi materiał w obiekcie?

Postprzez TreektusPL » 22 Sie 2019, 13:02

EvilArev napisał(a):Spróbuj przypisać całą tablicę:
Kod: Zaznacz wszystko
Material[] materials = new Material[] {pierwszyMateriał, drugiMateriał};
gameObject.getComponent<Renderer>().materials = materials;


Dzięki, działa prawidłowo.
TreektusPL
 
Posty: 41
Rejestracja: 23 Wrz 2018, 20:16
Has thanked: 0 time
Been thanked: 0 time


Wróć do Wsparcie Unity

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 4 gości