Rig 2D: ładne stawy i linie, które nigdy się nie pikselozują
Rig 2D w Moonlight Animate dostał zestaw funkcji, które robią różnicę dokładnie tam, gdzie animacja postaci najczęściej „nie wygląda": na stawach. A na deser — coś, czego rastrowe potoki nie potrafią z natury.
Łatka stawu — koniec szwu na łokciu
Klasyczna budowa postaci do animacji: każda część kończyny to osobna, domknięta warstwa (ramię + przedramię), nachodzące na siebie przy stawie. Po zgięciu w miejscu styku widać „szew" — kontur jednej części przecina wypełnienie drugiej.
Łatka stawu rozwiązuje to jednym poleceniem: program sam wycina krążek z Twojego rysunku przy stawie (promień dobiera z grubości kończyny, brzeg delikatnie wtapia i cofa od konturu sylwetki) i kładzie go jako nową warstwę nad obiema częściami. Łatka jedzie ze stawem sztywno — obraca się o połowę kąta między kośćmi, więc zawsze siedzi symetrycznie w zgięciu. Szew znika, kończyna wygląda jak jedna całość.
Łatka to zwykła warstwa: możesz zmienić jej kolejność, przezroczystość, albo ją usunąć. Całe dodanie to jeden krok cofnięcia.
Fałda — czyste mocne zgięcia
Inny przypadek: jedna warstwa rozpięta na dwóch kościach (całe ramię jednym rysunkiem). Przy bardzo mocnym zgięciu wewnątrz „łokcia" potrafi pojawić się zdublowana, rozmyta krawędź. Fałda stawu wygasza wąskie pasmo wzdłuż osi zgięcia i chowa ten artefakt — a jej oś wylicza się sama z pozycji kości.
Najlepsze: fałda jest w pełni automatyczna w czasie. Włącza się tylko wtedy, gdy staw naprawdę mocno się zgina — przy wyprostowanej kończynie nie rusza ani piksela. Działa wyłącznie na wskazanej warstwie, więc tors zachodzący na staw pozostaje nietknięty.
Rig na warstwach wektorowych — kreska ostra na zawsze
To największa nowość. Dotąd rig wyginał piksele warstwy. Teraz warstwę wektorową można powiązać z kośćmi tak samo jak rastrową — ale rig wygina same linie: przesuwa punkty kontrolne ścieżek (i ich uchwyty krzywych), a warstwa rysuje się na nowo ze zdeformowanych ścieżek.
Efekt jest fundamentalny: postać zgięta rigiem ma idealnie ostre linie przy każdym powiększeniu. Zero pikselozy, zero rozmycia od przekształceń — bo żadnego rastra nigdzie po drodze nie ma. W naszym silniku każde pociągnięcie pędzlem na warstwie wektorowej pamięta swoją oś, więc działa to z dowolnym pędzlem, także przy zmiennej grubości kreski.
Deformacja zawsze liczy się od oryginalnych ścieżek z chwili powiązania — możesz pozować i przewijać animację bez końca, rysunek się nie „zużywa". Matematyka przesunięć jest przy tym dokładnie zgrana z deformacją rastra, więc warstwy wektorowe i rastrowe tej samej postaci wyginają się identycznie i nic się nie rozjeżdża.
Jedna zasada porządkowa: dopóki warstwa jest przyczepiona do kości, jej ścieżek nie edytujesz ręcznie — rig jest ich właścicielem. Nowe polecenie Odepnij warstwę od kości przywraca oryginał do poprawek; potem przypinasz z powrotem. Program podpowiada to sam, gdy spróbujesz rysować po przypiętej warstwie.
Drobiazgi, które cieszą
- Usunięcie kości ze szkieletu porządkuje za Ciebie wszystko, co się do niej odnosiło — klatki kluczowe, inteligentne kości, pozy, kontrolery, łatki i fałdy przepinają się na właściwe kości, a wpisy usuniętej znikają.
- Usunięcie całej warstwy kości automatycznie odpina powiązane warstwy i przywraca ich oryginały — nic nie zostaje zamrożone w ostatniej pozie.
- Wszystko — łatki, fałdy, rig wektorowy — zapisuje się w projekcie, cofa jednym Ctrl+Z i działa we współpracy w czasie rzeczywistym.
Tym samym domknęliśmy cały zaplanowany zakres rigu 2D. Szkielety, wiązanie, animacja, inteligentne kości, biblioteka póz, przełączniki ust z auto-synchronizacją, graf węzłowy, sprężyny, presety postaci, kontrolery runtime — i teraz jeszcze czyste stawy oraz wektorowa kreska. Miłego rigowania!