W dzisiejszej szybkiej wskazówce chciałbym z wami omówić kilka technik animacji sprite - pod pojęciem animacji sprite rozumiem możliwość animowania za pomocą wielu pojedynczych obrazów. W przykładzie stworzyłem buźkę z dwoma otwartymi oczami i kilkoma ruchami ust.
Całość została podzielona na kilka warstw: warstwy głowy i oczu są widoczne przez cały czas, natomiast warstwy ust zostały podzielone, aby można je było wymieniać bez problemu. Kompozycja trwa 7 klatek, przy każdej klatce pojawia się nowy ruch ust.
Możemy teraz załadować kompozycję z buźką do nowej kompozycji i z kliknięciem prawym przyciskiem myszy na kompozycję>czas>kladka zaplanować naszą animację tak, aby w określonym momencie na ekranie buźki pojawiła się określona warstwa ust.
Ponadto teraz możemy dowolnie wydłużyć kompozycję z buźką - w tym przykładzie wydłużam nową kompozycję na 20 sekund.
Teraz możemy aktywować stoper podczas początkowego ruchu ust i wybrać pożądaną klatkę.
Kiedy kontynuujemy przesuwanie Time-Cursora, mamy możliwość wybrania kolejnych ruchów ust, ustawiając po prostu nowy klatkowy klucz i regulując czas kompozycji S.
W tym przykładzie najpierw nasza buźka patrzy smutno, potem mówi coś i w końcu się uśmiecha. Teraz możemy zduplikować kompozycję z buźką wielokrotnie, a animacja zostanie skopiowana.
Możemy już całkiem dobrze animować, ale niestety nie mamy teraz zbyt wielu możliwości związanych z procedurą zakrzywiania czasu. Inną metodą na to jest rozwiązanie wyrażeniowe - niestety nie będziemy mogli ponownie używać kompozycji z buźką, jak jest to możliwe w procedurze zakrzywiania czasu.
Kopiuję teraz kompozycję z buźką i nazywam ją "Wyrażenie". Następnie zaznaczam wszystkie warstwy kompozycji S, przechodzę z Time-Cursorem na początek i naciskam Alt+Ö, a następnie przechodzę na koniec animacji i klikam Alt+Ä,, aby wydłużyć wszystko.
Teraz tworzymy kompozycję 3 i tam wstawiamy kompozycję "Wyrażenie". Dla mojego wyrażenia chcę teraz utworzyć suwak dla elementów ust i osiągam to przez Ustawienia efektu>Ustawienia dla wyrażeń>Ustawienia suwaka. Blokuję go tymczasowo...
... a teraz wpisuję w Przezroczystość każdego obiektu ust w wyrażeniu to:
sld = Math.floorTU PROSZĘ POŁĄCZYĆ Z UTWORZONYM SUWAKIEM);
if(sdl == index) {
100
}else{
0
}
Klikając prawym przyciskiem myszy na wartość suwaka, możemy ustawić ostatnią wartość na 7 (dla 7 różnych ruchów ust).
Teraz, przesuwając suwak, możemy zobaczyć zmiany ruchu ust - ponadto teraz znacznie łatwiej jest uchwycić odpowiednią wartość.
Zaletą tej metody jest to, że znacznie łatwiej jest nam łączyć wiele elementów. Możemy na przykład stworzyć zmodyfikowane wyrażenie dla oczu i np. sprawić, że mrugają.
sld = Math.floorTU PROSZĘ POŁĄCZYĆ Z SUWAKIEM DLA OCZU+8);
if(sdl == index) {
100
}else{
0
}
Jeśli chcemy animować suwak tylko od 0 do 1 (0 dla otwartych oczu, 1 dla zamkniętych oczu), możemy dodać 8 po źródle z suwakiem +8.
I już można prosto kontrolować wyrażenia za pomocą stopera i animować buźkę. Taki system wyrażeń jest bardziej złożony, ale również bardziej elastyczny podczas animacji.
Jedynym minusem jest to, że musimy mieć tak samo długi kompozycję wyrażeń jak kompozycję końcową, aby wszystko działało do końca.