BI-PGA Programování grafických aplikací
Jdi na navigaci předmětu

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:*
  1. Založíme si nový projekt v Unity, alebo otvoríme rozpracovaný v ktorom chceme zmenu textúry využiť.
  2. 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).
  3. Vytvoríme si niekoľko globálnych premenných.
    1. public Texture[] textures → slúži na uloženie textúr, ktoré chceme aby boli aplikované na náš objekt.
    2. Texture original → pôvodna textúra objektu.
    3. public int currentTexture → číslo práve používanej textúry, nastavíme na nulu.
    4. MeshRenderer m_Renderer → na získanie prístupu k materiálu a jeho textúre.
1
*Start() funkcia*
  1. Získame prístup k MeshRenderer nášho objektu.
  2. Nastavíme premennú current na obsah pôvodnej textúry.
2
*Update() funkcia*
  1. Input.GetKeyDown(KeyCode."TLACITKO") → tlačítko pomocou ktorého budeme textúru meniť, v tomto prípade som zvolila SPACE, teda KeyCode.Space.
  2. Po stlačení tlačítka zvačšíme premennú currentTexture. Týmto sa posúvame v našom poli, ktoré obsahuje textúry.
  3. 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.
  4. Zmeníme momentálnu textúru objektu.
  5. 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.
3
*Vloženie textúr*
  1. Skript ktorý sme vytvorili priradíme k objektu (len pretiahneme vytvorený skript ku komponentom objektu).
  2. Vytvorí sa tam premenná Textures a do tej vložíme vybrané textúry.
4

Prejdeme do playmódu (CTRL + P) a pozrieme si ako sa textúra mení.

5

Tereza Ehnová