Tässä päivän pikavinkissä haluan selittää kanssanne joitain sprite-animaation menetelmiä - sprite-animaatiolla tarkoitan sitä, mikä mahdollistaa meidän animoida useilla yksittäisillä kuvilla. Esimerkiksi olen luonut hymiön, jossa on kaksi avointa silmää ja joitain suun liikkeitä.
Olen jakanut kokonaisuuden useisiin tasoille: Kun pää- ja silmätasot ovat koko ajan näkyvissä, suun tasot on jaettu, jotta niitä voidaan vaihtaa ilman ongelmia. Kokonaisuus kestää yhteensä 7 ruutua, jolloin joka ruudussa näkyy uusi suun liike.
Nyt voimme ladata hymy-komposition uuteen kompositioon ja napsauttamalla hiiren oikealla painikkeella kompositioon ja aikaulottuvuuteen säännön, joka mahdollistaa tietyn suun tason näyttämisen hymy-kompositiossa aina tiettynä aikana.
Lisäksi voimme nyt pidentää hymy-kompositiota haluamallamme tavalla - esimerkiksi pidentämällä uusi kompositio 20 sekuntiin.
Nyt voimme aktivoida ajanottoa suun alkuasennosta ja valita haluamamme ruudun.
Jatkamalla aikaviisoria voimme valita lisää suun liikkeitä asettamalla yksinkertaisesti uuden avainruudun ja asettamalla ajan S-kompositioon.
Esimerkiksi annetaan hymyn katsoa aluksi surullisesti, ja sen jälkeen se puhuu jotain ja lopuksi ilahtuu. Nyt voisimme monistaa hymy-komposition ja animaatio siirretään mukaan.
Voimme jo animoida melko kivasti tällä tavoin, mutta valitettavasti emme ole kovin monipuolisia aikaviiveitä käyttämällä. Toiseksi menetelmäksi voisi olla ilmaisuratkaisu - tätä varten emme kuitenkaan voi enää käyttää hymy-kompositiota useita kertoja kuten aikaviiveitä käytettäessä.
Kopioin nyt hymy-komposition ja nimeni kokoonpanoksi "Ilmaisu". Sitten merkitsen kaikki S-komposition tasot ja siirryn aikaviisoria alkuun ja painan Alt+Ö ja siirryn sitten animaation loppuun ja napsautan Alt+Ä pidentääkseni kaiken.
Luo nyt kompositio 3 ja lisää siihen "Ilmaisu"-kompositio. Ilmaisuun haluan nyt luoda liukusäätimen suun elementeille ja sen saavutan Effect Settings>Settings for Expressions>Slider Settings. Lukitsen sen ensin...
...ja nyt annan jokaiselle suun objektin peittävyyden ilmaisussa seuraavaa:
sld = Math.floorKYTKETTÄVÄ LIUKUSÄÄTIMEN LUOMISEKSI TÄHÄN);
if(sdl == index) {
100
}else{
0
}
Napsauttamalla liukusäätimen arvoa hiiren kakkospainikkeella voimme asettaa viimeisen arvon 7:ään (7 erilaista suun liikettä)..
Nyt kun siirrämme säädintä, näemme suun liikkeiden muuttuvan - lisäksi on nyt huomattavasti helpompaa hallita oikeaa arvoa.
Tämän menetelmän etuna on, että meillä on paljon helpompaa yhdistää useita elementtejä. Voimme esimerkiksi laatia muutetun ilmauksen silmille ja saada ne esimerkiksi räpyttämään.
sld = Math.floorKYTKETTÄVÄ SILMIEN LIUKUSÄÄTIMEN LUOMISEKSI+8);
if(sdl == index) {
100
}else{
0
}
Jos haluamme animoida säätimellä vain 0-1 (0 avoimille silmille, 1 suljetuille silmille), voimme lisätä lähteen perään 8 + 8:n avulla.
Nyt voimme helposti hallita ilmauksia ajanotolla ja animoida hymyä. Tällainen ilmaisujärjestelmä on monimutkaisempi, mutta myös huomattavasti joustavampi animoidessa.
Ainoa haittapuoli on, että meidän täytyy olla yhtä pitkä ilmauskompositio kuin lopputuloksen kompositio, jotta se toimisi loppuun saakka.