Zróbmy sobie animację | Część 1: Nanami

BLOG
698V
Zróbmy sobie animację | Część 1: Nanami
Mortus | 08.02.2019, 18:46
Poniżej znajduje się treść dodana przez czytelnika PPE.pl w formie bloga.

No i nadszedł w końcu ten czas - czas na kolejny projekt, w którym pogrążę się na kilka najbliższych miesięcy. Czas, który miał być poświęcony na tworzenie własnej gry, która choć też jest w planie, będzie jednak jeszcze musiała poczekać na swoją kolej. Zanim jednak do tego dojdzie, swoje 5 minut będzie miał krótki film animowany. I to właśnie o początku tworzenia tej animacji będzie ten wpis.

A więc o co chodzi? Co to za animacja? O czym będzie? Po kolei.

Część osób może kojarzy, część pewnie nie, ale wcześniej miałem przyjemność pracować nad fanowskim projektem dotyczącym serii MediEvil. Niedocenionej drugiej części tej serii, konkretnie mówiąc. Obrałem tam sobie za cel najpierw odtworzenie poziomu "The Professor's Lab", później zewnętrznej części "Wulfum Hall". Wszystko na silniku Unreal Engine 4. Dalsze plany na rozwój projektu co prawda były, ale zostały przerwane przez zapowiedź oficjalnego Remastera, a ja postanowiłem zająć się w pełni swoim własnym pomysłem. Gdyby ktoś jednak chciał rzucić okiem na moją poprzednią pracę - zapraszam w to miejsce.

 

Tyle tytułem wstępu, teraz czas przejść do spraw bieżących. Gdzieś tam wcześniej wspominałem, że kolejny projekt będzie również grą. Tym razem zupełnie na podstawie własnego pomysłu, ale jednak grą. I to właściwie ciągle jest jeszcze aktualne, gra ciągle jest w planie. Ale zanim się nią zajmę, chciałem dla odmiany wziąć się za coś nieco innego. Tym czymś właśnie będzie krótki film animowany. Brzmi to dość doniośle - film animowany. Gwoli wyjaśnienia powiem więc, że chodzi tu o coś, co nazywa się chyba Shortem. W zamyśle ma to być coś trwającego może... 3-4 minuty. Mniej więcej, trudno powiedzieć w tym momencie. Sam tego jeszcze do końca nie wiem. Tak czy inaczej w tym i kilku przyszłych wpisach będę chciał opisywać kolejne etapy powstawania owej animacji. Jeśli to kogoś zainteresuje - super. Jeśli nie... cóż, przynajmniej mi się fajnie pisze. Zawsze coś.

concept art

Ten konkretny wpis jest poświęcony pierwszej z dwóch głównych postaci, nad którymi będę pracował w ramach tego projektu - Nanami. Jako, że nie muszę się ograniczać do silnika gry, postanowiłem skorzystać z okazji i zaprojektować postać w taki sposób, bym mógł użyć różnych symulacji fizycznych i się nimi pobawić. Trochę mi się to odbiło czkawką szczerze mówiąc, ale o tym później. Oprócz takich oczywistości, jak sterowane fizyką włosy czy ubrania, dorzuciłem jeszcze kolczyki, bransoletkę i 2 paski po bokach spodenek. Na tym etapie, czyli etapie conceptu sprawa wygląda więc tak, że postać ma być w pełni animowalna i mieć możliwie jak najbardziej rozbudowaną mimikę twarzy. Takie są założenia. Poza tym 6 systemów symulacji fizyki (tak naprawdę jest ich więcej, ale głównych grup jest 6) - włosy, koszulka, kolczyki, bransoletka, paski po bokach spodenek i fizyka piersi (nie może być inaczej :P). Oprócz tego buty mają się dać przekształcić w dopalacze - czemu nie, w końcu to cyborg. Poza tym ten element przyda mi się później w samej animacji.

sculpt1sculpt2

Stylistyka początkowo była zupełnie inna. W zamyśle było to coś przypominającego lalki - kreskówkowe proporcje, ale realistyczne materiały i oświetlenie. Koniec końców ta wersja jednak nie dawała rady, więc nie będę jej ani pokazywał, ani omawiał w żaden sposób. Ostatecznie zdecydowałem się na w pełni stylizowany efekt. Tak jak wspomniałem wcześniej mimika być możliwie jak najbardziej rozbudowana, więc poświęciłem jej sporo uwagi i czasu. Na chwilę obecną Nanami ma ponad 100 Shape Keyów, z których zdecydowana większość jest poświęcona mimice twarzy. Czym są Shape Keye? W dużym uproszczeniu są to swobodne deformacje obiektu nie ograniczone przez kości. Pozwala to w dowolny i precyzyjny sposób deformować obiekt zwyczajnie w nim rzeźbiąc. Jak wszystko ma to oczywiście swoje wady i zalety. W przypadku deformacji szkieletowej każda z poszczególnych kości ciągnie za sobą określoną grupę wierzchołków modelu 3D z określoną wcześniej siłą. Ta metoda daje sporą swobodę i świetnie się nadaje np. do podstawowej deformacji ciała postaci - zginania rąk, nóg, obracania głowy. Problem jest jednak taki, że ciało człowieka nie jest zrobione z drewna i przy różnych pozycjach kończyn mięśnie zachowują się inaczej - napinają się lub rozluźniają. W tym miejscu właśnie z pomocą przychodzą Shape Keye (lub też jak kto woli Blend Shape'y). W zależności od pozycji czy rotacji danej kończyny można zdefiniować odpowiedni kształt mięśni dodając deformacjom wiarygodności. Im więcej takich deformacji się zdefiniuje, tym lepiej. Tyle jeśli chodzi o deformację ciała. W przypadku twarzy cały rig (czyli system deformacji) jest oparty na Shape Keyach. Tak jak wspomniałem wcześniej Nanami ma ich ponad 100, w większości odpowiedzialnych za mimikę twarzy. Można więc powiedzieć, że sama twarz ma tutaj przewidziane około 100 różnych pozycji/stanów mięśni mimicznych.

mimika

Kolejna sprawa to wszelakie symulacje fizyki. Te okazały się być najbardziej problematyczne. O ile standardowe deformacje ciała też bywają kłopotliwe, tak przynajmniej są w miarę przewidywalne. Symulacje jednak żyją własnym życiem. Trudno jednoznacznie przewidzieć ich zachowanie i jasno stwierdzić co się stanie. Tak więc na przykład włosy nie kolidują ze sobą w ogóle. Byłoby zbyt problematyczne i wymagałoby zdecydowanie zbyt dużej mocy obliczeniowej do zrealizowania. Ba, tak na dobrą sprawę włosy nie kolidują nawet z głową postaci. Dlaczego? Cóż, kolizja włosów z głową nie dawała zbyt dobrych rezultatów ze względu na fryzurę. Zamiast tego użyłem więc Force Fielda, a więc obiektu, który nieustannie odpycha włosy na zewnątrz, jeśli te z jakiegoś powodu zbyt mocno zbliżą się do głowy. Rozwiązanie nie jest idealne, ale działa.

Kolejny element to kolczyki. Tych w sumie jest 4 - po 2 na każdym uchu. Ich fizyka opiera się na niewidzialnym, dyndającym obiekcie zawieszonym w każdym z 4 punktów na uszach. Ich ruch jest swobodny, ograniczony jedynie maksymalnym kątem wychylenia. Kolizje jako takie więc nie występują, choć efekt jest taki, jakby rzeczywiście były.

Na podobnej zasadzie działa bransoletka. Ta jednak w przeciwieństwie do kolczyków może swobodnie się przemieszczać po przedramieniu, co początkowo przysporzyło mi nie lada problemów. Nie pomagał też fakt, że przy szybkich ruchach bransoletka mogła nie wykryć kolizji tym samym wypadając poza swój obszar symulacji. Z tego względu całość jest kilkuetapowa. U podstaw niewidzialny obiekt symuluje całą fizykę, a drugi - widzialny naśladuje jego ruchy. Gdy ten pierwszy jednak z jakiegoś powodu znajdzie się poza swoim zdefiniowanym obszarem, ten drugi naśladuje jego pozycję tylko do pewnego momentu, tym samym dając wrażenie, że bransoletka zatrzymała się na przedramieniu postaci. Gdy kłopotliwa sytuacja się kończy, pierwszy obiekt jest natychmiast wciągany na swoje miejsce, a symulacja jak gdyby nigdy nic dalej sobie działa. Jeśli coś jest głupie, ale działa - to nie jest głupie.

Następna w kolejce jest koszulka. Ta działa w oparciu o specjalnie do tego przeznaczoną fizykę Cloth. Jak zwykle największym problemem były kolizje. W tym przypadku jednak nie tylko muszą występować, ale muszą też reagować na deformację ciała. Symulowanie kolizji dla całego ciała to jednak kiepski pomysł. Głównie ze względu na potrzebną moc obliczeniową. Poza tym nie ma sensu przy symulacji koszulki brać pod uwagę np. nóg, bo te 2 elementy najpewniej nigdy się nie zetkną. Dlatego do kolizji używany jest dodatkowy obiekt - specjalnie przygotowany wycinek klatki piersiowej, brzucha, szyi i części ramion. Tyle wystarcza. Dochodzi do tego jeszcze fizyka piersi, jednak jej działanie jest bardzo podobne do działania wcześniej już opisanych kolczyków. Raczej więc nie ma sensu się nad tym rozwodzić. Dla pewności, że wszystko będzie zawsze na swoim miejscu, przed symulacją Cloth dla koszulki, razem z całym ciałem jest wykonywana deformacja szkieletowa. Dzięki temu całość jest stosunkowo stabilna.

paskiKolejnym, i jak się okazuje najbardziej problematycznym elementem były paski po bokach spodenek. Ten element opiera się o łańcuch sterowanych fizyką, połączonych ze sobą 8 elementów po każdej ze stron, oraz uproszczoną symulację Cloth. Kolejno więc: symulacja Cloth działa sobie swobodnie z tym tylko warunkiem, że jest przypięta na sztywno w 2 miejscach, gdzie łączy się ze spodenkami. Na całej długości, do paska jest poprzypinane 8 kolejnych obiektów, połączonych ze sobą w łańcuch. Te z kolei decydują o pozycji kości w szkielecie, który ostatecznie deformuje widzialny obiekt. Problem polega na tym, że w zależności od ułożenia nóg zmienia się też pozycja punktów, na których paski są zawieszone. Dlatego deformacja szkieletowa całej postaci również musi tutaj być brana pod uwagę. Długo się nakombinowałem, zanim do tego doszedłem. Zresztą, ten element wciąż nie jest idealny i przy pewnym pozach postaci wciąż potrafi być problematyczny.

Nanami pozy

Ostatnia rzecz to wspomniane wcześniej buty. Te, dość nietypowo musiały mieć działające 2 różne tryby deformacji, 2 różne rigi. Krótko mówiąc musiały reagować na 2 różne szkielety, na różnych warunkach, czego się zazwyczaj nie robi. Tutaj na szczęście obyło się bez większych problemów. Podstawowo buty deformują się w standardowy sposób przy użyciu tego samego szkieletu co cała reszta ciała. Jeśli jednak będę chciał przełączyć się na drugi tryb, wystarczy wyzerować pozycję odpowiednich kości w pierwszym szkielecie i śmiało można przejść do deformacji drugim. O dziwo tutaj od początku wszystko zaczęło działać według planu, co wcale nie jest takie oczywiste.

 

No i cóż, na razie to by było chyba tyle, jeśli chodzi o postęp prac nad animowanym Shortem. Mam nadzieję, że nie przynudzałem za bardzo.

Do przeczytania w kolejnym wpisie.

 

PS: Medal z kartofla dla RoDeNa, za trafienie na tę notkę natychmiast po opublikowaniu :P

Oceń bloga:
14

Komentarze (16)

SORTUJ OD: Najnowszych / Najstarszych / Popularnych

cropper