Videomajster
· 6 min czytania · Maciej Poczek

Duik zrobił kości, a ramię ani drgnęło. Dwa razy.

Rig wyglądał idealnie i rozpadał się przy pierwszym ruchu. Winne były dwa warunki, o których nie mówi żaden tutorial — a które stoją w oficjalnej dokumentacji, do której nie zajrzałem.

Rig po pierwszym pociągnięciu: kości pojechały w bok, grafika została na miejscu. Głowa osobno, ramię osobno.

Rig postaci w After Effects wygląda tak: masz płaską grafikę faceta, wbijasz w nią szpilki, klikasz przycisk „ramię”, a wtyczka buduje ci szkielet, którym da się tym facetem ruszać jak kukiełką. Pięć minut roboty. Tak to opisują wszystkie tutoriale.

U mnie po tych pięciu minutach na ekranie pojawił się piękny, kolorowy łańcuch kości. Dokładnie tam, gdzie miał być. Nazwy poprawne, hierarchia poprawna, strony rozpoznane. Wyglądało jak z filmu instruktażowego.

„Jestę animetorę!” — pomyślałem.

Chwyciłem za kontroler, pociągnąłem — i kości pojechały sobie w bok, a ramię zostało dokładnie tam, gdzie było.

Operacja się udała — pacjent nie przeżył.

Pomyślałem, że coś kliknąłem nie tak. Zrobiłem drugi raz, wolniej, po kolei, jak Bill Murray budzący się o szóstej rano do tej samej piosenki w „Dniu świstaka”.

To samo.

Moment, w którym człowiek obwinia narzędzie

Łańcuch kości Duika odjeżdżający w bok od grafiki postaci
Kości pojechały swoją drogą, grafika została na miejscu. Wtyczka zrobiła dokładnie to, o co ją poprosiłem.

I tu przyszła myśl, która brzmiała rozsądnie: Duik jest zawodny. Może na tej wersji AE, może na macOS, może na tej grafice. Poszperałem chwilę i byłem gotów budować własny system rigowania z pustych warstw i wyrażeń, bo skoro wtyczka nie działa, to trzeba sobie radzić samemu.

To była dobra decyzja pod jednym warunkiem: że wtyczka faktycznie jest zepsuta.

Czego nie sprawdziłem. Ale za to z jakim przekonaniem.

Co zrobiłem zamiast

Terminal: wyszukiwanie funkcji autorigu w pliku wtyczki Duik
73 212 linii kodu wtyczki i jedno pytanie: która funkcja decyduje o kościach. Trzeci wiersz od dołu — armatureLinkPuppetPins.

Zamiast wymyślać własny rig, otworzyliśmy z Claude’em plik samej wtyczki. Duik to jeden potwór na siedemdziesiąt trzy tysiące linii kodu — coś, czego nie przeczytam ani ja, ani nikt, kto ma na to jedno popołudnie. Ale znaleźć w tym funkcję odpowiedzialną za budowanie kończyny i sprawdzić, po czym ona decyduje, co zrobić — to już jest robota dla maszyny. Poczułem się przez chwilę jak Cypher patrzący na zielone literki, z tą różnicą, że on widział blondynkę, a ja armatureLinkPuppetPins. — Cokolwiek to znaczy.

Ale wyszły z tego dwie rzeczy. Obie decydują o wszystkim.

Rzecz pierwsza: liczy się, co masz zaznaczone. Nie warstwę — szpilki

Siatka Puppet ze szpilkami na ramieniu postaci
Szpilki Puppet na ramieniu. To one muszą być zaznaczone — nie warstwa.

Funkcja budująca kończynę sprawdza twoje zaznaczenie po kolei i schodzi coraz niżej. Zaznaczone szpilki Puppet? Robi kość na każdej szpilce i ją podpina. Nie masz zaznaczonego nic z listy? Spada do ostatniego przypadku: robi kości z punktów zaczepienia warstw. Szpilek nie tyka.

Ja zaznaczałem warstwę. Bo tak się robi wszystko inne w AE.

Dostawałem więc dokładnie to, o co prosiłem. Klasyczna umowa z dżinem: życzenie spełnione co do słowa, tylko nie tak, jak sobie wyobrażałeś.

Trzeba rozwinąć warstwę w osi czasu, zejść do Efekty › Puppet › Mesh 1 › Deform i zaznaczyć tam szpilki. Dopiero wtedy klikać.

Rzecz druga: zwykły klik nie podepnie szpilek

W kodzie siedzi ustawienie odpowiadające za podpinanie szpilek do kości. Domyślnie wyłączone. Włącza je jeden parametr, a ten parametr ustawia się wyłącznie tym, że przytrzymasz klawisz podczas klikania.

Zwykły klik: kości bez podpięcia. Klik z Command (na Windowsie z Ctrl): kości podpięte.

Ten sam przycisk, ta sama ikona, żadnej różnicy na ekranie. Sekret jak kod na nieśmiertelność w GTA — działa bezbłędnie, pod warunkiem że ktoś ci go wcześniej powiedział.

Więc procedura brzmi tak — i to jest cała odpowiedź

Zaznacz szpilki w osi czasu (nie warstwę), a potem Cmd+klik na przycisk kończyny. Na Windowsie Ctrl+klik.

Trzy sekundy. Tyle dzieliło mnie od działającego rigu przez dwa nieudane podejścia.

A teraz część, w której wychodzę na idiotę

Poszedłem sprawdzić, czy o tych dwóch rzeczach ktoś w ogóle napisał. Bo w pierwszej wersji tego tekstu miałem zdanie, że nie ma tego nigdzie i twórcy powinni się wstydzić.

Jest. W oficjalnej dokumentacji Duika. Na stronie o tworzeniu kości.

Czarno na białym stoi, że przy zaznaczeniu szpilek powstanie jedna kość na każdą szpilkę, i osobno, że kliknięcie z Ctrl automatycznie podepnie zaznaczone rzeczy do nowego szkieletu.

Przeczytałem kilkadziesiąt tysięcy linii cudzego kodu, żeby dowiedzieć się czegoś, co stało w instrukcji. Na jednej stronie. Do której prowadzi pierwszy link w menu.

Jedyne, co mam na swoją obronę — i naprawdę jest to jedyne — to że instrukcja mówi o tym spokojnie. Jednym zdaniem, w środku akapitu, tonem „a przy okazji, jest też taka wygodna opcja”. Nie ma tam ostrzeżenia, że bez tego klawisza cała robota jest do wyrzucenia. Brzmi jak dodatek, a jest warunkiem.

Dlaczego to jest tak podstępne

Bo nic nie wybucha. Żadnego czerwonego komunikatu, żadnego ostrzeżenia, żadnego „czy na pewno”. Wtyczka robi to, o co poprosiłeś — tylko poprosiłeś o co innego, niż myślałeś.

I najgorsze: rig w spoczynku wygląda identycznie w obu przypadkach. Kości są, kolory się zgadzają, hierarchia poprawna. Miś na miarę naszych możliwości.

Morał, ale techniczny

Duik nie był zepsuty ani razu. Obie porażki były moje, a rozwiązanie leżało w instrukcji, której nie otworzyłem, bo przecież widziałem tutoriale.

Byłem o krok od napisania własnego systemu rigowania — czyli od wyrzucenia kilku dni na zastąpienie narzędzia, które działało bez zarzutu, bo nie umiałem go poprosić. I najgorsze jest to, że miałbym wtedy poczucie sukcesu. Własny rig by działał. Nikt nigdy by nie sprawdził, czy trzeba było go pisać.

Więc: zanim uznasz, że narzędzie jest do niczego, sprawdź, czy przypadkiem nie robi dokładnie tego, o co je prosisz. A zanim każesz maszynie czytać kod źródłowy — otwórz instrukcję. Wychodzi taniej i mniej boli.

A jeśli już zdecydujesz się na kości donikąd, to przynajmniej Duik robi je ładne.

Tematy: After Effects · Duik · rigging · AI

← Wszystkie teksty