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 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
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
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
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