Sculpty Sculpty Blog
Open Studio
Wszystkie wpisy
3d model skinning skinning workflow dual quaternion skinning linear blend skinning bone weights

Modelowanie 3D: od kości do animacji – wyjaśnienie skinningu

S
Sculpty
·
Modelowanie 3D: od kości do animacji – wyjaśnienie skinningu

W końcu udało Ci się zrigować postać. Szkielet zgina się poprawnie, kontrolery reagują, a potem obraca się ramię. Siatka postaci zapada się w ostry fałd, przedramię skręca jak zawinięty cukierek, albo łokieć się rozciąga, podczas gdy reszta ręki pozostaje w miejscu. Model wyglądał dobrze w pozycji wiązania, więc problem wydaje się tajemniczy.

To nie jest tajemnica. Skinning modeli 3D to system, który mówi powierzchni wielokątnej, jak ma podążać za wewnętrznym szkieletem. Gdy zrozumiesz, czego wymaga siatka, malowanie wag, macierze wiązania i alternatywne algorytmy przestaną być niezwiązanymi technicznymi obowiązkami. Staną się różnymi odpowiedziami na to samo praktyczne pytanie: jak każda część powierzchni powinna się poruszać, gdy pobliskie kości zmieniają pozycję?

Spis treści

Dlaczego siatka postaci zapada się bez skinningu

Statyczna siatka postaci zna tylko położenie swoich wierzchołków. Szkielet zna tylko rozmieszczenie swoich stawów. Po umieszczeniu ich w tej samej scenie, nadal nie będą one automatycznie zachowywać się jak żywa postać. Bez relacji skinningu, obrót kości ramienia zmienia kość, a nie wierzchołki tworzące ramię, rękaw czy klatkę piersiową.

Skinning tworzy tę relację. Nadaje każdemu wierzchołkowi instrukcje, które kości na niego wpływają i jak silnie. Postać może się wtedy poruszać, jakby elastyczna skóra była naciągnięta na sztywną wewnętrzną strukturę, nawet jeśli komputer oblicza wynik wierzchołek po wierzchołku.

Częsty pierwszy błąd pojawia się w okolicy ramienia. Wierzchołki ramienia podążają zbyt blisko kości ramienia, wierzchołki klatki piersiowej pozostają nieruchome, a przejście między nimi zapada się do wewnątrz. Podobny problem pojawia się przy nadgarstku, gdy dłoń się obraca, ale przedramię nie ma stopniowego przejścia. Wynik jest technicznie animowany, ale wizualnie zachowuje się jak twarda skorupa z kilkoma przyczepionymi elementami.

Praktyczna zasada: Dobra pozycja wiązania nie gwarantuje dobrej deformacji. Daje ona oprogramowaniu jedynie czyste odniesienie, od którego można obliczyć późniejszy ruch.

Sama siatka ma znaczenie, zanim jeszcze otworzysz narzędzie do malowania wag. Czysty przepływ krawędzi daje deformacji miejsce do przemieszczania się wokół stawów, podczas gdy nieregularna topologia może zmusić pojedynczy wielokąt do przenoszenia ruchu, do którego nie został ukształtowany. Przejrzyj podstawy topologii postaci przed obwinieniem riggu.

Diagram porównujący złe i dobre techniki skinningu siatki 3D dla deformacji stawów w animacji postaci.

Celem nie jest sprawienie, by każdy wierzchołek się poruszał. Celem jest sprawienie, by każdy wierzchołek poruszał się w sposób, który wspiera otaczającą go formę. To rozróżnienie sprawia, że skinning znajduje się między modelowaniem, riggowaniem, animacją i eksportem. Zły wynik może wynikać z wag, rozmieszczenia stawów, topologii lub samej metody deformacji.

Szkielet, pozycja wiązania i siatka

Wyobraź sobie drewniany manekin pokryty cienką warstwą gliny. Kołki i segmenty manekina to szkielet, glina to siatka, a moment, w którym dociskasz glinę do manekina w neutralnej pozie, to pozycja wiązania.

Szkielet to hierarchia stawów. Ramię należy do tułowia, łokieć do przedramienia, a nadgarstek do przedramienia. Ta struktura rodzic-dziecko pozwala na przenoszenie obrotu przez postać. Jeśli ramię się poruszy, łokieć i nadgarstek odziedziczą część tego ruchu poprzez hierarchię.

Pozycja wiązania to neutralne ustawienie odniesienia. Może to być poza T, poza A lub inna neutralna poza, ale musi być celowa. Oprogramowanie zapisuje, jak siatka układa się względem każdego stawu w tym momencie. Później porównuje bieżącą pozę z tym odniesieniem i stosuje różnicę do powiązanych wierzchołków.

Trzy elementy, które muszą się zgadzać

  • Szkielet: Stawy definiują dostępne ruchy i ich hierarchię. Źle umieszczony staw łokciowy może spowodować złe zgięcie, nawet jeśli wagi zostały starannie namalowane.
  • Pozycja wiązania: Neutralna poza ustanawia ramę odniesienia. Jeśli siatka i szkielet nie są wyrównane podczas wiązania, późniejsze transformacje zaczynają od niewłaściwej relacji.
  • Siatka: Powierzchnia wielokątna przechowuje pozycje wierzchołków, normalne, UV i dane wpływu, które pozwalają jej się deformować.

Diagram ilustrujący trzy główne kroki skinningu 3D: tworzenie szkieletu, wiązanie siatki i skinning.

Analogia z origami pomaga zrozumieć kolejną koncepcję. Zaznacz punkt na złożonej figurze z papieru, a następnie zmień zgięcia. Zaznaczony punkt nie wybiera pojedynczego zgięcia w izolacji. Jego ostateczna pozycja zależy od otaczającej struktury i sposobu, w jaki papier łączy się wzdłuż zagięć. Wierzchołek poddany skinningowi działa podobnie, z tą różnicą, że oprogramowanie przechowuje jawne wartości wpływu zamiast polegać na fizycznym papierze.

Przed wiązaniem sprawdź transformacje postaci, skalę, orientację stawów i neutralną pozę. Zastosuj poprawki przed wygenerowaniem wag. Jeśli zmienisz proporcje siatki lub przesuniesz główne stawy po związaniu, możesz potrzebować odbudować lub starannie naprawić relację, zamiast malować nad każdym objawem.

Pozycja wiązania daje również punkt odniesienia do debugowania. Wróć do niej, gdy deformacja wygląda źle. Jeśli siatka jest już przesunięta, obrócona lub niewłaściwie przeskalowana, problemem nie jest subtelne przejście wag. Jest to błąd konfiguracji, który należy naprawić u podstaw.

Jak działają wagi kości i liniowe mieszanie

Postać zgina się w łokciu, ale wierzchołki między ramieniem a przedramieniem nie mogą czysto podążać za pojedynczym stawem. Potrzebują stopniowego przekazania. Wagi kości zapewniają to przekazanie, przypisując każdemu wierzchołkowi znormalizowany wkład od wpływających na niego stawów.

Liniowe mieszanie skinningu, zwane również deformacją podprzestrzeni szkieletowej, skinningiem palety macierzy lub mieszaniem wierzchołków, pozwala jednemu wierzchołkowi reagować na kilka stawów. Każdy wpływ ma wagę nieujemną, a wszystkie wagi dla danego wierzchołka sumują się do 1, jak wyjaśniono w tym wykładzie na temat liniowego mieszania skinningu. Wierzchołek w pobliżu ramienia może otrzymywać silny wkład od tej kości, mniejszy od przedramienia i niewielki lub żaden od odległych stawów.

Wynik działa jak prześcieradło trzymane przez kilka osób. Każda osoba porusza inną częścią, a tkanina układa się zgodnie z tym, jak mocno ciągnie każda ręka. Wierzchołek poddany skinningowi jest jednym punktem tej tkaniny. Jego ostateczna pozycja pochodzi z połączonych ruchów stawów, a nie z pojedynczej kości wybierającej wynik.

Obliczenie prostymi słowami

Dla wierzchołka w pozycji wiązania, silnik zazwyczaj wykonuje następującą sekwencję:

  1. Zaczyna od pierwotnej pozycji wierzchołka.
  2. Używa odwrotnej macierzy wiązania, aby wyrazić tę pozycję w relacji współrzędnych związanej ze stawem.
  3. Stosuje transformację bieżącej pozy stawu.
  4. Mnoży tę przekształconą pozycję przez wagę wierzchołka.
  5. Dodaje ważony wynik do wkładów z innych wpływających stawów.

W zwartej notacji:

v' = Σ wi Mi v

Tutaj v to wierzchołek w pozycji wiązania, v' to jego zdeformowana pozycja, wi to waga wpływu, a Mi reprezentuje bieżącą transformację stawu połączoną z jego odwrotną relacją wiązania. Część odwrotnego wiązania jest ważna, ponieważ silnik musi najpierw uwzględnić, gdzie wierzchołek się znajdował. Bez tego odniesienia, całkowicie rozsądna transformacja pozy mogłaby przesunąć siatkę z niewłaściwej relacji początkowej.

Diagram ilustrujący czterostopniowy proces, jak wagi wierzchołków sterują deformacją siatki 3D w animacji komputerowej.

Normalizacja utrzymuje kontrolowany całkowity wpływ. Jeśli wartości sumują się do zbyt dużej lub zbyt małej kwoty, wierzchołki mogą się przesuwać, kurczyć lub rozszerzać, sprawiając, że problem wag przypomina błąd modelowania. Znormalizowane wagi nie gwarantują atrakcyjnej deformacji. Dają one mieszaniu jedynie stabilny matematyczny punkt wyjścia.

Dlaczego liniowe mieszanie stało się domyślne

Liniowe mieszanie skinningu jest kompaktowe, wydajne dla sprzętu i praktyczne do renderowania w czasie rzeczywistym. Gra może aktualizować wiele wierzchołków w sposób ciągły, utrzymując obliczenia w stosunkowo rozsądnych granicach. Ta równowaga pomogła ustanowić je jako powszechną metodę ogólnego przeznaczenia dla animowanych postaci.

Jego historia również podąża za szerszym rozwojem grafiki 3D opartej na wielokątach, a formalne potraktowanie jako nazwanej techniki stało się ważnym kamieniem milowym na początku lat 2000. Przegląd akademicki metod skinningu zapewnia kontekst historyczny dla tej dziedziny.

Ograniczenie pojawia się, gdy sąsiednie stawy obracają się względem siebie. Ważona średnia transformacji może być matematycznie płynna, jednocześnie dając niewłaściwy kształt fizyczny. Wokół skręcającego się przedramienia siatka może tracić obwód i zapadać się do środka, nawet jeśli każdy wierzchołek ma poprawnie znormalizowane wagi. To rozróżnienie ma znaczenie podczas rozwiązywania problemów. Wartości wag kontrolują, jak stawy dzielą wpływ, podczas gdy metoda mieszania kontroluje, jak te transformacje się łączą.

Skinning dual quaternion i problem „opakowania po cukierku”

Obróć przedramię, obserwując łokieć i nadgarstek. Jeśli środek dramatycznie się zwęża, a powierzchnia spiralnie się zapada, widzisz problem „opakowania po cukierku”. Liniowe mieszanie powoduje ten artefakt, ponieważ uśrednia macierze transformacji w sposób, który nie zachowuje sztywnej natury obrotu wokół skręcającej się kończyny.

Problem nie polega na tym, że wagi są koniecznie złe. Możesz mieć starannie znormalizowany zestaw wpływów i nadal uzyskać utratę objętości, gdy sąsiednie kości obracają się względem siebie. To rozróżnienie oszczędza czas. Zanim przemalujesz całe ramię, sprawdź, czy artefakt podąża za metodą deformacji.

Skinning dual quaternion, czyli DQS, oferuje niemalże zamiennik „plug-and-play”. Zamiast bezpośredniego mieszania macierzy transformacji, miesza jednostkowe dual kwaterniony i normalizuje połączony wynik przed transformacją wierzchołka. Metoda skuteczniej zachowuje sztywne transformacje i poprawia zachowanie objętości, jak opisano w tej technicznej dyskusji na temat skinningu dual quaternion.

Kryterium Liniowe mieszanie skinningu Skinning dual quaternion
Podstawowa operacja Miesza transformacje oparte na macierzach Miesza jednostkowe dual kwaterniony, a następnie normalizuje
Skręcające się kończyny Może powodować zapadanie się „opakowania po cukierku” Lepiej zachowuje sztywne zachowanie obrotowe
Objętość Może tracić objętość wokół silnych skrętów Generalnie skuteczniej zachowuje objętość kończyn
Profil czasu wykonania Kompaktowy i przyjazny dla sprzętu Podobno prawie tak szybki jak LBS
Częsty problem Zapadanie się i spłaszczanie Możliwe wybrzuszenia w pobliżu źle wyrównanych stawów

Praktyczny wybór jest zazwyczaj prosty. Używaj LBS, gdy docelowy silnik, styl postaci lub ustalony przepływ pracy tego wymaga. Testuj DQS, gdy skręcające się ramiona, przedramiona, uda lub ogony widocznie się zapadają, a silnik obsługuje tę opcję.

DQS nie jest magią. Jeśli osie stawów są źle wyrównane lub wagi obejmują staw zbyt szeroko, powierzchnia może się wybrzuszyć zamiast zapadać. Najpierw napraw szkielet i strefy wpływu. Następnie porównaj obie metody, używając tych samych póz, zwłaszcza neutralnego zgięcia, silnego skrętu i ekstremalnego wyciągnięcia.

Użyj algorytmu, aby rozwiązać rzeczywisty artefakt. Przełączenie na DQS nie naprawi źle umieszczonego stawu, uszkodzonej topologii ani wierzchołka przypisanego do niewłaściwej kości.

Praktyczny przepływ pracy z malowaniem wag i zasięgami

Zacznij od automatyzacji, ale traktuj wynik jako wersję roboczą. Metoda automatyczna może oszacować wpływy na podstawie odległości od kości, otaczającej geometrii lub obliczeń w stylu mapy cieplnej. Pozwala szybko uzyskać użyteczną pierwszą wersję, podczas gdy ostateczna jakość nadal pochodzi z testowania i korekty.

Stwórz pierwszą wersję

  1. Przygotuj scenę. Potwierdź, że siatka jest w zamierzonej pozycji wiązania, a szkielet znajduje się wewnątrz postaci. Sprawdź, czy części postaci nie są przypadkowo oddzielone, ukryte lub nie mają nieoczekiwanych transformacji.
  2. Wygeneruj początkowe wagi. Użyj automatycznego przypisania lub zasięgów, aby utworzyć mapę wpływu. Zasięgi nadają każdej kości promień wpływu, z efektem zanikającym do zera, gdy wierzchołki wychodzą poza ten obszar.
  3. Ustaw pozę przed dopracowaniem. Przetestuj ramiona, łokcie, nadgarstki, biodra, kolana, szyję i palce. Neutralna poza ukrywa złe przejścia, podczas gdy ruch natychmiast je ujawnia.
  4. Maluj problem, a nie całą postać. Dodaj wpływ tam, gdzie forma powinna podążać za stawem, odejmij go tam, gdzie sąsiedni obszar jest przeciągany, i zachowaj stopniowe przejście przez zgięcie.
  5. Lustrzane odbicie z ostrożnością. Symetria przyspiesza pierwszą wersję, ale tymczasowo wyłącz lub wyłącz lustrzane odbicie przed dokonaniem korekty specyficznej dla jednej strony. W przeciwnym razie naprawa może pojawić się po przeciwnej stronie.

Infografika w pięciu krokach przedstawiająca praktyczny przepływ pracy z malowaniem wag 3D, od automatycznego przypisywania wag do końcowego dopracowania.

Ramię, które deformuje się jak guma do żucia, często ma zbyt duży wpływ ramienia sięgający w klatkę piersiową lub zbyt mały wpływ tułowia docierający do barku. Łokieć, który ostro się zagina, może potrzebować dodatkowych pętli wspierających, płynniejszego gradientu wag lub stawu umieszczonego bliżej rzeczywistego zgięcia. Izolowana jasna plama na wyświetlaczu wag często identyfikuje wierzchołek z nadmiernym wpływem lub przypadkowe przypisanie.

Sprawdź wynik z różnych kątów

Nie oceniaj mapy wag tylko w domyślnej pozie widoku. Obracaj postać, powoli zginać staw i oglądaj sylwetkę z przodu, z boku i z trzech czwartych. Obserwuj normalne i cieniowanie, a także kontur, ponieważ powierzchnia może zachować swoją sylwetkę, jednocześnie tworząc niepożądane zagięcie.

Użyj tego osadzonego odniesienia przepływu pracy podczas testowania własnego ustawienia:

Zakończ, sprawdzając nieprzypisane wierzchołki, nagłe granice kolorów i wpływy, które przeskakują przez niepowiązane części ciała. Dłoń nie powinna ciągnąć przedramienia tylko dlatego, że wierzchołki są blisko w przestrzeni obiektu, a luźna kurtka może wymagać innej strategii niż ciało pod nią.

Kiedy automatyczny i wspomagany przez AI skinning zyskuje na znaczeniu

Postać może wyglądać akceptowalnie po automatycznym wiązaniu w luźnej pozie, a następnie zapadać się przy pierwszym podniesieniu ramienia. Algorytm nie ocenia projektu. Dystrybuuje wpływ na otrzymaną geometrię, więc siatka o niskiej rozdzielczości, nierówny przepływ krawędzi, rozłączone powierzchnie lub źle umieszczone stawy dają mu słabe dowody.

Zasięgi pozostają użyteczne do szybkiej pierwszej wersji, ponieważ ich granice są widoczne i łatwe do dostosowania. Są mniej precyzyjne wokół form specyficznych dla projektu. Bark musi zachować zamierzoną objętość, podczas gdy płaszcz może wymagać innego ruchu niż tułów pod nim. Ustaw zasięg jako zgrubną granicę, a następnie dopracuj wierzchołki, które kontrolują sylwetkę i zgięcie stawu.

Narzędzia wspomagane przez AI rozszerzają ten proces, przewidując wagi na podstawie wzorców geometrycznych i wcześniej zrigowanych przykładów. Mogą one zmniejszyć powtarzalną pracę konfiguracyjną w podobnych postaciach, ale wynik nadal jest propozycją. Testuj pozy, sprawdzaj cieniowanie i ręcznie koryguj ekspresyjne stawy.

Kilka podejść do skinningu pozostaje w aktywnym użyciu, w tym bezpośredni skinning, automatyczny skinning, deformacja oparta na przykładach i bezpośredni skinning delta. Każde z nich inaczej równoważy kontrolę autorską, automatyzację, jakość deformacji i zachowanie w czasie wykonania. Wybór jest technicznym i artystycznym kompromisem, a nie przyciskiem, który sprawia, że każda siatka deformuje się dobrze.

Dla młodszego artysty używaj automatyzacji do powtarzalności, a nie do oceny. Pozwól oprogramowaniu stworzyć mapę wpływu, a następnie sprawdź, czy ramię zachowuje swój kształt, łokieć zgina się naturalnie, a projekt postaci wymaga sztywnego czy miękkiego ruchu. Czysta ręczna wersja jest często szybsza niż naprawianie automatycznego wiązania, które nigdy nie zostało przetestowane.

Wybór odpowiedniego ustawienia skinningu dla Twojego projektu

Wybierz ustawienie, odpowiadając na trzy pytania.

Gdzie postać będzie działać? Zacznij od wymagań docelowego silnika i formatu eksportu. Postać do gry w czasie rzeczywistym często preferuje kompaktowe ustawienie LBS z kontrolowaną listą wpływów na wierzchołek, podczas gdy rig do kina może priorytetowo traktować jakość deformacji i systemy korygujące.

Jak ekstremalny jest ruch? Stylizowana postać z ograniczonymi pozami może wyglądać doskonale z LBS. Stworzenie z głębokimi skrętami, długimi ogonami lub wysoce artykulowanymi kończynami zasługuje na bezpośrednie porównanie z DQS i starannie opracowanymi korektami.

Ile geometrii możesz obsłużyć? Więcej topologii może dać stawowi dodatkowe miejsce do zgięcia, ale dodatkowe wielokąty nie uratują złego rozmieszczenia stawów ani zagubionych wag. Czysta geometria jest cenniejsza niż gęstość dodana bez planu deformacji.

Siatki generowane przez AI wymagają tej samej dyscypliny. Remeshing i retopologia mogą przekształcić nierówną powierzchnię w czystszy układ czworokątów lub gotowy do gry układ trójkątów przed związaniem. Jeśli Twój przepływ pracy obejmuje konwersję formatów, sprawdź postać poprzez przepływ pracy DAE do FBX i zweryfikuj, czy stawy, wagi, transformacje i przypisania materiałów przetrwały przekazanie.

Najlepsza kolejność operacji: Napraw siatkę, umieść stawy, ustal pozycję wiązania, wygeneruj wagi, przetestuj ruch, a następnie wybierz metodę mieszania.

Ta kolejność zapobiega używaniu złożonego algorytmu deformacji do ukrycia podstawowego błędu konfiguracji.

Pytania dotyczące skinningu, które zadajesz dopiero po pierwszej próbie

Objaw Prawdopodobna przyczyna Szybka poprawka
Staw zapada się podczas zginania Słaba topologia, wagi lub rozmieszczenie stawów Sprawdź przepływ krawędzi, przemaluj przejście i przetestuj pozycję stawu
Siatka generowana przez AI maluje się nierówno Nieregularna lub rozciągnięta topologia Remesh lub retopologizuj przed związaniem
Eksport traci deformację Nieobsługiwane dane skinningu, transformacje lub ustawienia konwersji Przetestuj wyeksportowany plik w docelowym silniku i zweryfikuj szkielet i wagi
Skręt zapada się do wewnątrz Utrata objętości w liniowym mieszaniu Porównaj DQS, a następnie sprawdź osie stawów i zakresy wpływu

Czy należy od razu związać postać wygenerowaną przez AI? Zazwyczaj nie. Najpierw wyczyść topologię, potwierdź skalę i orientację, umieść stawy i stwórz celową pozycję wiązania.

Co jeśli jeden staw zawsze się zapada? Izoluj pozę, sprawdź wagi w widoku cieplnym i ustal, czy awaria podąża za siatką, szkieletem, czy metodą mieszania. Limity stawów lub kształty korygujące mogą rozwiązać zaprojektowany ekstremalny ruch czyściej niż niekończące się przemalowywanie.

Jak przygotować się do Unity lub Unreal? Najpierw wyeksportuj małą postać testową. Potwierdź, że silnik odczytuje hierarchię szkieletu, pozycję wiązania, wpływy wierzchołków, normalne i dane materiałów, zanim zaangażujesz się w pełny zasób produkcyjny.

Co zrobić z nierówną wygenerowaną geometrią? Użyj przejścia remesh lub retopologii, aby stworzyć powierzchnie, które wspierają zamierzone zgięcia. Skinning może dystrybuować wpływ, ale nie może stworzyć użytecznego przepływu krawędzi tam, gdzie siatka go nie ma.


Sculpty łączy generowanie tekstu na 3D i obrazu na 3D z narzędziami do remeshingu, retopologii, teksturowania PBR, renderowania i eksportu, dzięki czemu możesz przygotować czystszy zasób przed związaniem go z riggiem. Odwiedź Sculpty, aby wygenerować lub dopracować siatkę postaci, przetestować jej topologię i przenieść model bardziej gotowy do skinningu do swojego przepływu pracy animacji.