Unity - Zmena textúry
Tutoriál, ako meniť textúru objektu pomocou lubovoľného tlačítka.
Postačujúca je minimálna znalosť Unity a základne princípy programovania v objektovo orientovanom jazyku. Napriek tomu že Unity využíva C#, pre úspešného absolventa programovaích predmetov na FITe využívajúc prevažne C++, je práca priamočiara, nakoľko sú v oboch jazykoch využívane podobné princípy.
- Pri práci s objektami v Unity občas potrebujeme prepínať medzi textúrami a meniť tak povrch objektu. Nie vždy je ale potrebné meniť celý materiál a jeho vlastnosti. V prípade zmeny textúry, ostavajú nastavené vlastnosti materiálu ako Smoothness, Metallic…atď.
*Postup:*
- Založíme si nový projekt v Unity, alebo otvoríme rozpracovaný v ktorom chceme zmenu textúry využiť.
- Pripravíme si zložku s textúrami, ktoré chceme na nami vybraný objekt aplikovať a vytvoríme si nový skript. (pravé tlačítko a C# script).
- Vytvoríme si niekoľko globálnych premenných.
- public Texture[] textures → slúži na uloženie textúr, ktoré chceme aby boli aplikované na náš objekt.
- Texture original → pôvodna textúra objektu.
- public int currentTexture → číslo práve používanej textúry, nastavíme na nulu.
- MeshRenderer m_Renderer → na získanie prístupu k materiálu a jeho textúre.
*Start() funkcia*
- Získame prístup k MeshRenderer nášho objektu.
- Nastavíme premennú current na obsah pôvodnej textúry.
*Update() funkcia*
- Input.GetKeyDown(KeyCode."TLACITKO") → tlačítko pomocou ktorého budeme textúru meniť, v tomto prípade som zvolila SPACE, teda KeyCode.Space.
- Po stlačení tlačítka zvačšíme premennú currentTexture. Týmto sa posúvame v našom poli, ktoré obsahuje textúry.
- Overflow! → pri zmene musíme dávať pozor na pretečenie. Pri každom stlačení tlačítka, vydelíme premennú currentTexture modulom veľkosti poľa textúr.
- Zmeníme momentálnu textúru objektu.
- Input.GetKeyDown(KeyCode."TLACITKO") → môžeme použiť iné tlačítko a pomocou neho sa vrátiť k úplne pôvodnej textúre ktorú objekt mal, zmeníme momentálnu textúru na original . Tlačítko A pre ilustráciu.
*Vloženie textúr*
- Skript ktorý sme vytvorili priradíme k objektu (len pretiahneme vytvorený skript ku komponentom objektu).
- Vytvorí sa tam premenná Textures a do tej vložíme vybrané textúry.
Prejdeme do playmódu (CTRL + P) a pozrieme si ako sa textúra mení.
Tereza Ehnová