You are on page 1of 29

POSTACI

MODELOWANIE POSTACI.

Przed przystąpieniem do modelowania, należy opracować założenia dla


modelu a następnie zgromadzić materiał pomocniczy, który wykorzystamy w
modelingu.
Założenia dla postaci to zbiór reguł, którymi będziemy się kierować tworząc
siatkę. W dużej mierze powodowane one są przeznaczeniem modelu-czy będzie to
postać wykonana na potrzeby gry, czy filmu animowanego, co za tym idzie na jak
gęstą i detaliczną siatkę powinniśmy się zdecydować a jak wiele detali będziemy
musieli odzyskać dzięki odpowiedniemu teksturowaniu. Powinniśmy określić płeć
postaci, wiek, rodzaj budowy ciała i inne. Te cechy często są determinowane przez
cel, jaki stawiany jest naszemu bohaterowi w filmie czy grze.
Referencjami dla postaci mogą być zarówno zdjęcia osób, na których
będziemy się wzorować, jak i rysunki, obrazki zeskanowane na przykład z książek o
anatomii ludzkiej i inne. Generalnie powinno nam zależeć na zgromadzeniu takiej
dokumentacji, która w różnych rzutach pokazuje bryłę ciała postaci, którą będziemy
odtwarzać. Umieszczenie takich referencji w widokach środowiska 3ds MAX ułatwi
nam modelowanie, szczególnie w przypadku pierwszych modeli. Oczywiście w miarę
nabierania doświadczenia okaże się, że nie będzie to konieczne i wystarczające
wtedy okażą się nawet proste koncepty postaci.
Metod modelowania postaci jest bardzo wiele i każdy, kto je tworzy kieruje się
własnym pomysłem i wygodą. Jednym ze sposobów, często wykorzystywanym, jest
modelowanie połowy siatki postaci, a odzyskiwanie kompletnej bryły przy
zastosowania modyfikatora Mirror. Dzięki zastosowaniu tej metody uzyskamy siatki
idealnie symetryczne, co jak Państwo wiedzą nie jest jednak odpowiednikiem
rzeczywistości, gdyż żaden człowiek nie jest symetryczny (nawet jeśli chodzi o twarz
;) ). Oczywiście model po zastosowaniu odbicia można zróżnicować w dalszym
procesie modelowania lub wykonać indywidualizację na zastosowanej teksturze.
Modelować możemy kompletną siatkę, lub podzielić ją na pewne elementy,
które zamodelujemy w osobnych plikach a dopiero potem złożyć z nich kompletny
model. Często stosowanym podziałem jest ten, w którym modelujemy nogę ze stopą
i połowę korpusu, natomiast w zewnętrznych plikach tworzymy bryłę dłoni i głowy.
(Rys poniżej). Taki podział jest powodowany skomplikowaniem poszczególnych brył.
Ci z Państwa, którzy modelować będą postaci przekonają się, ze najtrudniejszymi do
zamodelowania będą głowa i dłonie. Już stworzenie dobrego modelu ucha, może być
dość kłopotliwe. Oddzielenie tych części ludzkiego ciała od całości modelu daje
możliwość skupienia uwagi tylko nad nimi i stworzenia możliwie precyzyjnej bryły.
Oczywiście modelować możemy w każdym trybie siatkowym, dostępnym w
programie 3ds MAX, możemy stworzyć siatkę postaci ze Splajnów i rozpiąć między
nimi powierzchnie, możemy wyjść w modelu od prostej bryły z biblioteki i
odpowiednio ją modyfikować. Decydującym jest tutaj doświadczenie i sprawność w
korzystaniu z odpowiedniego mechanizmu, oraz umiejętność wykorzystania
dostępnych w nim narzędzi.

1
Rys 1a

Rys 1b

2
Rys 1c

Rys 1d

3
Rys 1 a, b, c, d, e. Wybrane sposoby modelowania siatek postaci

Istnieje jednak mimo tej różnorodności pewien zestaw zasad, których należy
przy modelowaniu przestrzegać. Musimy pamiętać o tym, że postaci z reguły (prawie
zawsze) tworzone w celu ich „ożywienia”. Właśnie na tym etapie pracy z naszymi
modelami okazuje się często, ze postać, mimo że doskonale się prezentuje, nie
nadaje się kompletnie do użycia. Po przypisaniu jej do szkieletu siatka nienaturalnie
się deformuje, co zmusza nas do jej poprawienia. Czym należy się wiec kierować?
Przede wszystkim siatka musi posiadać odpowiednią gęstość. Ograniczenie
ilości geometrii, która składa się na model, nie może spowodować błędów. W
miejscach zgięć postaci (stawy, przeguby) w miejscach, które będą miały symulować
na przykład rozciąganie materiału, należy umieścić odpowiednią ilość krawędzi. Po
ożywieniu postaci da to możliwość wykonywania nawet mocnych zgięć kończyn,
palców, wykonywania obrotów i innych. Jeżeli postać ma na przykład być ubrana w
sukienkę, habit, czy inne tego rodzaju ubranie, należy wziąć pod uwagę to, że w
trakcie ruchu taka powierzchnia „udająca” ubranie musi się rozciągać. Jeżeli rozciąga
się powierzchnia, to rozciągać będzie się również nałożona na nią tektura.
Przesadne ograniczenie geometrii w takich miejscach spowoduje więc obniżenie
wartości wizualnej modelu w ruchu.

4
Rys 2. Przykład poprawnie przygotowanej siatki postaci.

W przypadku postaci mechanicznych, gdzie nie mamy do czynienia z


miękkimi deformacjami siatki, należy zadbać o takie zamodelowanie geometrii, aby
mogła ona symulować przeguby, możliwie wraz z obrotami, co wpłynie na realizm
ruchu (Jak w przykładzie z zajęć nr.1).

SZKIELET.

Po zamodelowaniu siatki postaci należy przygotować szkielet, na który


zostanie ona nałożona. Środowisko 3ds MAX daje możliwość tworzenia szkieletów
na dwóch podstawowych poziomach:
1. Biped (Create->Systems-> Biped) – wbudowany w oprogramowanie
system kości, dający się zastosować w prosty sposób dla postaci człekokształtnych a
po modyfikacji praktycznie również dla zwierząt i innych (Rys 3 a,b). Dużym
ułatwieniem i argumentem przemawiającym za korzystaniem z Bipeda jest to, że
systemy kości składające się na poszczególne kończyny, są ze sobą połączone a na
każdy łańcuch nałożony jest domyślnie mechanizm kinematyki odwrotnej (Inwerse
Kinematics). Przygotowanie Bipeda opiera się w zasadzie na wygenerowaniu go
podobnie, jak to jest w przypadku innych obiektów z wbudowanej biblioteki, oraz
nadaniu mu odpowiednich parametrów. Trwa to kilka minut i uzyskujemy gotowy do
przyłączania szkielet. Wadą takiego rozwiązania jest oczywiście brak pełnej kontroli
nad strukturą szkieletu i brak możliwości zastosowania go dla postaci o bryłach
bardzo skomplikowanych.

5
Rys 3a

Rys 3 a, b. Różne zastosowania Bipeda

Zastosowanie Bipeda pozwala na zdefiniowanie pozy zerowej szkieletu, która


zapewni nam min. bezpieczeństwo pracy z tego typu szkieletem, a stworzone

6
fragmenty animacji szkieletu możemy zapisać, wczytać dla danego Bipeda oraz
składać je w dłuższe klipy.

2. Bones (Create->Systems->Bones) – kości – dają nieograniczona możliwość


tworzenia systemów kości. Dzięki wbudowanemu generatorowi możemy tworzyć
dowolnie długie i skomplikowane łańcuchy, dopasowane do kształtu bryły postaci.
Stworzone łańcuchy możemy kontrolować jeśli chodzi o skręcanie, rozciąganie,
skalowanie i inne. Dodatkowo mamy możliwość wygenerowania sobie obiektów
pomocniczych, które dadzą kontrolę nad pojedynczymi lub zestawami kości, możemy
również nadać szkieletowi któryś z rodzajów kinematyki. Jest to jednak mechanizm,
który wymaga pewnego doświadczenia w użyciu i jest często bardzo pracochłonny.
Jest natomiast w pełni uniwersalny.

Rys 3b. Przykład prostego łańcucha kości

Poniżej przedstawiłem przykład, wygenerowanego poprawnego szkieletu


postaci. Kości (ang. bones) to modyfikatory, pozwalające łączyć się w hierarchię i
umożliwiające animowanie obiektów do nich “podłączonych”. Są to tzw. Elementy
pomocnicze, które nie są renderowane, natomiast umożliwiają nam pełną kontrolę
nad obiektem. Szkielet ludzki składa się z dwustu sześciu kości, jednak większości z
nich nie będziemy potrzebowali do poprawnego poruszania postacią.
Podobnie, jak w procesie modelowania siatki, i ten etap, można podzielić na
pewne części:
1. Szkielet kręgosłupa
2. Szkielet nogi i stopy,
3. Szkielet ręki i dłoni
4. Uzupełnienie struktury przez odbicie symetryczne części kości.
W dalszej części tekstu omówię każdą z tych części.
Przed przystąpieniem do kreowania struktury kości, należy zadbać o pewne
właściwości modelu:
- model musi być dokładnie wyskalowany, musi mieć odpowiedni rozmiar – jest
to o tyle ważne, że kości są obiektami, których nie powinniśmy w żaden
sposób skalować. Tak więc przed przystąpieniem do tworzenia kości, należy,
używając na przykład obiektu taśmy - miarki (zakładka Helpers, Tape),
dokładnie zwymiarować postać.

7
- należy umieścić środek układu współrzędnych postaci (Pivot) u podstawy
siatki, a następnie wyrównać go do punktu 0 (0,0,0). Unikniemy w ten sposób
pomyłek, spowodowanych błędnym rozmieszczeniem fragmentów szkieletu w
przestrzeni, da to również możliwość odbicia kości względem osi głównego
układu współrzędnych sceny.
- kolejnym ułatwieniem jest włączenie dla siatki postaci opcji przezroczystości
(See-Thru) w menu właściwości obiektu (Properities), dzięki czemu będziemy
mogli dokładnie rozmieszczać poszczególne kości i łączenia,
- siatkę należy „zamrozić” (opcja Freeze Selected w menu bocznym, zakładka
Display), co zapobiegnie przypadkowym przesunięciom i deformacjom.

TWORZENIE SZKIELETU KRĘGOSŁUPA

Ważne dla prawidłowego rozmieszczenia struktury kości jest odpowiednie przyjęcie


środka ciężkości postaci. z reguły leży on w okolicach miednicy. Położenie to można
poddać ewentualnej korekcie, jednak nie później, niż do końca tworzenia kręgosłupa.

8
Rys. 4.1 Kości kręgosłupa

Z bocznego menu, w zakładce stwórz (Create), wybierałem systemy


(Systems) i następnie Kości (Bones). Należy wizualnie dopasować parametry kości
(Width, Height, Taper), tak, by nie przesłaniały one postaci, jednocześnie nie były też
zbyt cienkie, przez co nieczytelne w widoku.
Przystąpiłem do tworzenia kości. Rysunek (Rys. 4.1), przedstawia gotową
strukturę. Składa się ona z jednej kości skierowanej w dół, która będzie odpowiadać
za ruch bioder (zielona), czterech kości kręgosłupa (czerwone) oraz po jednej kości
dla szyi i głowy (niebieskie). Kości bioder, kręgosłupa oraz odcinka szyjnego i głowy,
tworzą trzy niezależne łańcuchy. Używając opcji edycji kości (Bone Edit Mode)
(menu główne, Character, Bone Tools), poprawiłem rozmieszczenie poszczególnych
kości, by znajdowały się w odpowiednich miejscach siatki i nie zachodziły na siebie.
Stworzone łańcuchy będą ze sobą połączone, dlatego kości kończące jeden łańcuch
centrowałem (Align) do kości początkowej następnego łańcucha. Zapobiegło to
niepotrzebnym skalowaniom i rotacjom w trakcie łączenia.

9
Kościom nadałem następujące nazwy:
Łańcuch zielony – KrKoscOgonowa, KrKoscOgonowaKontrol,
Łańcuch czerwony – KrKoscPlecyDol, KrKoscPlecySrodek, KrKoscPlecyGora,
KrKoscPlecyRamiona, KrKoscRamionaKontrol, KrKoscSzyja, KrKoscGlowa,
KrKoscGlowaKontrol.
Kości są elementami sztywnymi, nie podlegają w trakcie ruchu deformacjom,
dlatego należy użyć opcji zablokuj długość (Freeze Lenght) w zakładce właściwości
obiektu (Object Properties), narzędzia Bone Tool. Uchroni nas to od zmiany długości
kości w trakcie animacji.
Dla przywrócenia odpowiednich proporcji i skali kości, należy po jej edycji użyć
narzędzia resetowania (Reset Scale, Reset Scratch), dostępnego w tej samej
zakładce.
Metoda animowania postaci metodą kości wiąże się z nadawaniem każdemu z
fragmentów szkieletu dużej liczby klatek kluczowych, oraz precyzyjnym ustawianiem
postępujących po sobie faz ruchu. Biorąc pod uwagę ten czynnik, oraz to, że kości
szkieletu kręgosłupa znajdują się wewnątrz siatki postaci, postanowiłem stworzyć
obiekty pomocnicze w animacji, które będą znajdować się przed postacią, przez co
będzie łatwo je wybrać i operować ich położeniem i orientacją, a będzie to miało
bezpośredni wpływ na ruch odpowiednich kości.
Pierwszy kontroler (numer 1, nazwany KontrolCałaPostac, Rys. 4.2) umożliwia
operowanie całą postacią. Miał on dawać możliwość poruszenia całym szkieletem, a
więc w rezultacie i siatką. Rysunek 4.2 przedstawia strukturę stworzonych obiektów
pomocniczych.

10
Rys. 4.2. Obiekty pomocnicze

Niebieskie kontrolery (2-5, KontrolOgonowaObrot, KontrolPlecyObrot,


KontrolRamionaObrot, KontrolGlowaObrot) umożliwiają obracanie poszczególnymi
odcinkami kręgosłupa - biodrowym, brzusznym, ramion, szyjnym i głowy. Obiekty
kontrolne zostały obrócone względem głównego układu współrzędnych zgodnie, z
orientacją odpowiednich kości, na które miały oddziaływać (narzędzie Align Tool, w
głównym menu, opcja Align in Orientation).
Kolejnym krokiem było odpowiednie połączenie ze sobą fragmentów
kręgosłupa i obiektów kontrolnych. Wykorzystałem standardowe narzędzie łączenia
dostępne w menu głównym (Select and Link). Jego użycie daje pewność, że obiekt
przyłączony, dziecko, będzie naśladować orientację i przesunięcie obiektu
kontrolującego, rodzica. Kość KrKoscSzyja została złączona z
KrKoscPlecyRamiona, KrKoscPlecyDol i KrKoscOgonowa, przyłączona do
KontrolCałaPostac. Do tego obiektu zostały również przyłączone wszystkie
dodatkowe obiekty kontrolne, co umożliwiło poruszanie całą postacią, bez
konieczności wybierania wszystkich kontrolerów i ustalania ich położeń niezależnie.
Następnie obiektom kontrolnym zostały nadane wartości zerowe obrotu i
przesunięcia. Po zaznaczeniu wszystkich, przytrzymując klawisz Alt, otworzyłem
menu podręczne i wybrałem Freeze Transform. Poskutkowało to dodaniem do stosu
kontrolera ruchu i obrotów, który przechowywał zerowe rotacje i przesunięcia.
Stworzenie kręgosłupa, który w jak największym stopniu mógłby naśladować
zachowaniem podczas ruchu ten ludzki, wymagało nie tylko stworzenia struktury

11
kości, obiektów kontrolnych ale również nadaniu poszczególnym łańcuchom
odpowiednich zależności. Należało również zadbać, by wybrane kości we właściwy
sposób współpracowały z przypisanymi obiektami kontrolnymi.
Na tym etapie pracy przydatnym okazał się mechanizm wymuszania, który
daje nam do dyspozycji środowisko 3d Max. Wymuszanie ma podobny charakter jak
łączenie (Select and Link) obiektów, opisane powyżej. Rodzic, w zależności od
wybranego rodzaju wymuszania, zmusza dziecko do naśladowania jego orientacji
(Orientation Constraint), położenia (Position Constraint), ścieżki (Path Constraint),
wymuszanie śledzenia (Look At Constraint) i innych. Istnieje oczywiście możliwość
przypisania jednemu obiektowi – dziecku kilku obiektów wymuszających, a stopień, w
jaki wpływają one na dziecko możemy regulować za pomocą odpowiednich wag
(tabelka Target/Weight).
Dzięki użyciu wymuszania śledzenia, mogłem z łatwością nadać kontrolerom
możliwość sterowania orientacją kości.
Mojemu szkieletowi nadałem następujące zależności:
- Kontroler bioder (2), steruje orientacją kości biodrowej (KrKoscOgonowa),
- Kontroler kręgosłupa (3), steruje orientacją KrKoscPlecyDol, a więc wpływa na
orientację całego kręgosłupa, oraz częściowo kością KrKoscPlecySrodek
(waga 66,5), KrKoscPlecyGora (waga 33,5)
- Kontroler ramion (4), wpływa na KrKoscPlecySrodek (waga 33,5),
KrKoscPlecyGora (waga 66,5), oraz całkowicie KrKoscRamiona,
- Kontroler głowy (5), steruje orientacją KrKoscGlowa (niebieska), oraz
częściowo KrKoscSzyja (waga 50),
- Dodatkowo kość KrKoscRamiona (czerwona) w pięćdziesięciu procentach
(waga 50), wymusza orientację kości KrKoscSzyja.
Połączenie kości i obiektów kontrolnych w opisany wyżej sposób, dało mi w
późniejszym etapie możliwość dość precyzyjnego sterowania orientacją
poszczególnych części kręgosłupa oraz w zadowalający sposób pozwoliło na
kontrolowanie siatki postaci w obszarze od bioder do głowy.
Aby zapobiec „łamaniu” się kręgosłupa na odcinku łączącym łańcuch
kręgosłupa z biodrowym, musiałem użyć dodatkowego obiektu pomocniczego (Point
Helper). Został on umieszczony u zbiegu wyżej wymienionych łańcuchów kości, oraz
połączony (Select and Link), do kontrolera głównego postaci (1). Jego użycie jako
dodatkowego obiektu wymuszającego orientację dolnej części kręgowej (waga 65),
rozwiązało problem zbyt ostrego zgięcia kręgosłupa.
Konsekwencją zbudowania kręgosłupa mojej postaci z trzech łańcuchów, była
konieczność nadania określenia między nimi tak, aby na przykład obrót kości
biodrowej wokół jej osi głównej ( oś x) wpływał również na obrót kości, znajdujących
się powyżej, co jest naturalne w kręgosłupie ludzkim.

TWORZENIE SZKIELETU RĘKI

Konstrukcja szkieletu ręki i dłoni była znacznie bardziej pracochłonna i


skomplikowana, niż w przypadku kręgosłupa.
Pracę ze szkieletem ręki rozpocząłem od przestudiowania układu kości
ludzkich w tej kończynie, dokładnej obserwacji sposobu, w jaki ręka wykonuje
wybrane ruchy, oraz jak na te ruchy reaguje skóra.
Następnie przystąpiłem do tworzenia struktury kości.

12
Jak dowiedziałem się z wyszukanych kursów [28] ,częstym błędem
popełnianym przez budujących struktury kości ludzkich, jest rozpoczynanie łańcucha
ręki od kości ramienia. Jak się okazało, rozwiązaniem prawidłowym z punktu
widzenia zarówno anatomii, jak i późniejszych procesów przypisania skóry i animacji,
jest rozpoczęcie tegoż łańcucha od kości obojczyka. Dzięki temu łańcuch ręki nie
pozostaje „zawieszony” w przestrzeni, a animacja postaci z tak zbudowanym
łańcuchem nabiera dodatkowych walorów naturalności. Należy bowiem zauważyć, iż
niewiele ruchów, wykonywanych przez ramię ludzkie, nie wiąże się z choćby
minimalnym przesunięciem lub obrotem kości obojczyka. Stworzenie prawidłowej
struktury ułatwiło odwzorowanie tej zależności w trakcie animacji.
Pierwszy łańcuch, który wygenerowałem, składał się jedynie z trzech kości
(Rys. 4.3) – obojczyka, ramienia, przedramienia, oraz zakończenia łańcucha,
umiejscowionego na wysokości nadgarstka. Ważne jest, aby kości te w jak
największym stopniu pokrywały się z poszczególnymi fragmentami siatki, imitującej
fragmenty ciała ludzkiego, natomiast łączenia kości wypadały w miejscach stawów.
Jest to ważne dla poprawności nakładania skóry i późniejszych deformacji siatki.

Rys. 4.3. Uproszczony łańcuch ręki.

Do stworzenia i pozycjonowania powyższej struktury zostało użyte


standardowe narzędzie środowiska 3ds MAX, opisywane już w części poświęconej
szkieletowi kręgosłupa.
Powyższy szkielet był jedynie bazą wyjściową, do zbudowania kompletnej
struktury. Taki układ kości nie mógłby w zadowalający mnie sposób imitować
zachowania ludzkiej ręki. Należało więc uzupełnić łańcuch o dodatkowe elementy.
Dodałem dodatkową kość dla ramienia, która miała wspomóc odpowiednie
zachowanie siatki na obszarze ramię-biceps oraz dwie kości w odcinku
przedramienia (Rys. 4.4). Te ostatnie wspomogły prawidłową deformację siatki-skóry
podczas obrotów dłonią wokół głównej osi.

13
Rys. 4.4. Uzupełniony łańcuch kości ręki.

Dla lepszej organizacji pracy, kolejnym kościom zostały nadane odpowiednie nazwy:
1. PObojczyk
2. PRamie
3. PBiceps
4. PPrzedramie1
5. PPrzedramie2
6. PPrzedramie3
7. PDłoń
Zakończeniom kości nadałem nazwy: PRamieKontrol, PPrzedramieKontrol,
PDłońKontrolGórny, oraz PDłońKontrol. Tak stworzone kości zostały uzupełnione
obiektami kontrolnymi:
- A. KontrolRamieP - steruje obrotem przedramienia i dłoni,
- B. KontrolDłońP - steruje ruchem łańcucha od obojczyka, aż po samą dłoń.

Uznałem, że taka liczba obiektów kontrolnych będzie wystarczająca dla


zaanimowania ruchu ręki. Chciałem mieć wpływ na ruch niemalże każdej kości co
mogłem rozwiązać na dwa sposoby – stworzyć kilka kontrolerów, dla każdej z nich
lub w trakcie animacji posługiwać się bezpośrednio kośćmi (łatwe, biorąc pod uwagę
niewielką średnicę ręki, w stosunku do kości, a więc łatwość odnalezienia
odpowiedniej). Pozostałem przy drugim rozwiązaniu.
Ustaliłem następujące powiązania:
- KontrolRamieP powiązałem (narzędzie Select and Link) z kością
KrKoscRamiona - zgięcie kręgosłupa powoduje ruch ramion, zatem i całej
ręki,
- PObojczyk z KontrolRamieP – kontroler obraca i przesuwa całym łańcuchem,

14
- KontrolDłońP z KontrolCalaPostac – chciałem, aby ruch kontrolerem całej
postaci oraz obracanie nim, wpływało również na ruch dłoni,
- PRamie z PBiceps – ludzki szkielet nie dale możliwości obracania samym
ramieniem wokół głównej osi, ale obrót bicepsa wpływa na delikatny obrót
ramienia,
- PPrzedramie1, PPrzedramie2 z PPrzedramie3 – prawidłowa struktura, dla
obrotu całego przedramienia,
- PDłoń z PPrzedramie1Kontrol – zapewnia jednoczesny obrót przedramienia i
dłoni.
Używając opisanych powyżej mechanizmów śledzenia, wymusiłem następujące
zależności:
- PDłońKontrolGórny obserwuje orientację KontrolDłońP (narzędzie
OrientationConstraint), dzięki czemu obrót KontrolDłońP wymusza obrót całej
dłoni,
- PPrzedramie3 „obserwuje” PPrzedramie1 (LookAtConstraint), jako górny
punkt węzłowy (Upnode), wybrałem dla PPrzedramie3 Dłoń. Ten zabieg
sprawił, że dolna kość przedramienia porusza się w zgodnej osi z
PPprzedramie1, pozostaje w hierarchii podczas obrotów, ale obraca się
również wokół głównej osi wraz z obrotem kontrolera dłoni.
- PPrzedramie2 obserwuje orientację (OrientationConstraint) PPrzedramie1 i
PPrzedramie3, dzięki czemu wraz z obrotem dłoni porusza się całe
przedramię, ale w nierównym stopniu. Stopniowo zmierzając ku górze, kości
obracają się o mniejszy kąt, w stosunku do rotacji dłoni. Jest to zgodne z
punktu widzenia naśladowania naturalnego zachowania ręki ludzkiej.

Należy jeszcze raz zwrócić uwagę na prawidłowe ułożenie kości przedramienia.


Ten odcinek łańcucha będzie w trakcie animacji poddawany częstym obrotom, co
wiąże się z obrotami dłoni. Należy zapobiec jego niepożądanym zachowaniom
(przeskoki kości przy obrotach). Wszystkie kości w łańcuchu muszą więc być ułożone
tak, by ich lokalne układy współrzędnych miały taką samą orientację. Jeśli nasze
kości są zorientowane w różny sposób, możemy naprawić ten problem, wybierając w
menu bocznym, przy zaznaczonej danej kości, zakładkę Motion, pole Rotation i
wybierając odpowiednie zaznaczenie w obszarze Source/Upnode Alignment, oraz
Aligned to Upnode Axis. Kombinacja tych parametrów skutecznie rozwiązała
problem.
Do ustalenia zależności między kośćmi obojczyka, ramienia i bicepsa,
konieczne było zastosowanie skryptów, oraz dodatkowych obiektów pomocniczych.
Pierwszy obiekt pomocniczy (boczne menu, zakładka Helpers, Point Helper),
został umieszczony w górnej części kości ramienia, u zbiegu z kością obojczyka.
Obiekt ten został następnie złączony (Select and Link) z PObojczyk. Następnie,
jako kontroler obrotu kości ramienia (PRamie) wokół osi X, wybrałem skrypt (menu
boczne, zakładka Motion, Rotation, obszar Assign Controller, Transform, Rotation,
Rotation X, następnie wybieramy AssignController, i zaznaczamy FloatScript). W
wyświetlonym okienku skryptu (Rys. 8.5) możemy zobaczyć wartość o jaką jest
obrócona względem osi X zaznaczona kość (opcjonalnie inny obiekt). Ponieważ
aktualna pozycja kości została wcześniej ustawiona jako zerowa (mechanizm
zerowania kości, opisany powyżej), to w okienku wyświetlona zostanie wartość
bardzo zbliżona zeru (w moim przypadku było to 1,30687e-0,06 ). Dla pewności,
zmieniłem tę wartość na zero aby nie spowodować nawet minimalnego błędu obrotu.

15
Rys. 4.5. Okienko wprowadzania kodu skryptów, środowiska 3ds MAX

Na rysunku 4.5 widoczne jest okienko do wprowadzania skryptów we wbudowanym


języku programowania MAX Script. Język ten umożliwia miedzy innymi bardzo
dokładne sformułowanie zależności miedzy obiektami. Dla kości ramienia (PRamie),
wprowadziłem następujący kod:
dependsOn $PBiceps $HELPERRamieP
rot=($PBiceps.transform*inverse $HELPERRamieP.transform).rotation as
eulerAngles
degToRad -rot.x
- dependsOn $Object; - funkcja, zapewnia, _e obiekt, dla którego została wywołana
(tutaj PRamie), bedzie obserwował ruch jednego, lub wiecej obiektów, wywołanych
po symbolu dolara ($) (tutaj PBiceps, HelperRamieP).
- rot – zmienna przechowująca wartość, o jaka obróci się kość ramienia, podana w
układzie współrzędnych Eulera,
- transform – przechowuje przemieszczenie obiektu, interesował mnie składowa
obrotu,
zatem pobrałem go operatorem kropki (.rotation). Wcześniej
($PBiceps.transform*inverse) odwróciłem wektor transformacji kości bicepsa
($PBiceps).
- degToRad –rot.x - konwersja stopni na radiany i ustawienie przeciwnej wartości
składowej x zmiennej rot.
Użycie powyższego skryptu spowodowało naturalny wygląd ruchu kości ramienia,
dzięki czemu uzyskałem równie_ dużą naturalność deformacji siatki w tym obszarze.
Jego wada jest brak możliwości zmiany nazewnictwa elementów, które są w nim
uwzględnione, bowiem skutkuje to błędnym działaniem.

16
TWORZENIE SZKIELETU DŁONI

Rys. 4.6. Szkielet prawej dłoni

Wygenerowane kości poszczególnych palców zostały złączone (Link and Select) z


kością główną dłoni (PDłon), oraz odpowiednio nazwane.
Na etapie tworzenia struktury dłoni ważnych jest kilka podstawowych
zależności. Przede wszystkim należy zwrócić uwagę, że kciuk należy budować
analogicznie do innych palców, to znaczy z trzech kości, z odpowiednio
rozmieszczonymi zgięciami. Częstym błędem jest bowiem ograniczanie się do
dwóch, co potem znacznie utrudnia animację w obszarze łączenia kciuka z dłonią (na
przykład podczas składanie ręki w pięść). Zauważyć też trzeba, że układ
współrzędnych kciuka jest nieco obrócony w stosunku do układu współrzędnych
innych palców. Łatwo to sprawdzić, opierając dłoń na płaskiej powierzchni-kciuk jest
lekko obrócony.
Ważnym jest też odpowiednie połączenie kości małego palca z kością dłoni.
Należy tutaj utworzyć dodatkową kość o początku w szczycie szkieletu małego palca,
sięgającą mniej więcej do połowy głównej kości dłoni. To rozwiązanie redukuje
problem naturalnej animacji elastycznego ruchu dłoni.

TWORZENIE SZKIELETU NOGI

Szkielet nogi i stopy w dużej mierze przypomina ten zbudowany dla ręki.
Biorąc pod uwagę cel jaki stawiałem mojemu bohaterowi, zbędnym okazało się
budowanie osobnych łańcuchów kości dla poszczególnych palców stopy, co jedynie
mogło w moim mniemaniu utrudnić późniejszą animację. Ograniczyłem się więc do
jednej kości, odpowiadającej wszystkim palcom stopy (Rys. 4.7).

17
Rys. 4.7. Łańcuch kości nogi

Ponieważ cała noga wraz ze stopą składała się z jednego łańcucha kości,
nie trzeba było używać wymuszania do kontroli obrotów i położenia. Wbudowany
mechanizm zarządzania ruchem kości środowiska 3ds MAX wypełnił to zadanie.
Pozostało jedynie nazwać kolejne kości łańcucha i przyłączyć odpowiednie
kontrolery.
Nazewnictwo kości, podążając od górnej części łańcucha:
- PUdo,
- PŁydka,
- PStopaKostka,
- PStopaŚrodstopie,
- PStopaPalce,
- PStopaKontrol.
Nazewnictwo i funkcjonalność obiektów kontrolnych:
- KontrolNogaP – rodzic kości PUdo, a więc wpływa na jej położenie i
orientację, a w konsekwencji również na obrót i pozycję całej nogi,
- KontrolKolanoP – wymusza obrót kości PŁydka i całego dalszego łańcucha w
kierunku stopy,
- KontrolKostkaP – kontroluje obrót PStopaKostka i całej stopy, połowicznie
wpływa na obrót PStopaPalce, PStopaKontrol. Jest to poprawne z punktu
widzenia anatomii takiego ruchu, jak na przykład stawanie na palcach stopy.
- KontrolPalceP – wymusza orientację dwóch ostatnich kości łańcucha nogi
PStopaPalce, PStopaKontrol.

UZUPEŁNIENIE SZKIELTU

18
Rys. 4.8. Kompletny szkielet postaci

Opisane powyżej działania doprowadziły do stworzenia części szkieletu


składającego się z kompletnej struktury dla nogi i stopy, ręki, dłoni, kręgosłupa i
głowy. Należało teraz uzupełnić szkielet o lewą część. Służy do tego wbudowane
narzędzie środowiska 3ds MAX, dostępne w menu Bone Tool, służące do odbijania
kości – Mirror. Nie należy mylić go z dostępnym w menu głównym narzędziem do
odbijania obiektów i ich części. Jest to bowiem specjalizowany mechanizm służący
tworzeniu odbić jedynie kości.
Tak przygotowany szkielet po próbnym rigowaniu uzupełniono o brakujące kości.
Potrzebne mi były bowiem dodatkowe koperty, wpływające na deformację siatki w
okolicach kaptura, zewnętrznych części klatki piersiowej, oraz okolic pachwiny.
Wykorzystałem opisane w poprzedniej części pracy sposoby, by dodać brakujące
kości. Finalnie, szkielet prezentował się jak na rysunku (Rys. 4.9); jasnym kolorem
oznaczono uzupełnione kości.

19
Rys. 4.9. Finalny szkielet postaci

Nowo dodane kości zostały zdefiniowane następująco:


- KapturP, KapturPKontrol – kość, kontrolująca zachowanie siatki na obszarze
okolic szyi i kaptura, ma możliwość rozciągania (Squash), obserwuje
(LookAtConstraint) obiekt pomocniczy zlokalizowany na jej końcu
(HelperkapturPgora). Jako górny punkt węzłowy wybrałem kość obojczyka
(PObojczyk), dzięki czemu wpływa ona dodatkowo na obrót opisywanej kości.
Ponadto, zakończenie kości, KapturPKontrol, obserwuje pozycję (Position
Constraint) wymienionego już kontrolera punktowego (HelperkapturPgora).
Obiekt ten został następnie przyłączony (Select And Link) do kości szyi
(KrKoscSzyja). Takie przygotowanie dało pewność, że kość kaptura będzie się
odpowiednio poruszać i skalować pod wpływem obrotu i przesunięcia kości
kręgosłupa i prawej ręki, oraz pozostanie we właściwym miejscu.
- KlatkaP, KlatkaPKontrol – wspomaga deformację zewnętrznych okolic klatki
piersiowej, stworzona analogicznie do kości kaptura, przy wykorzystaniu

20
obserwacji obiektu punktowego wymuszającego również rozciągnięcie
(HelperKlataP), związana z punktem węzłowym (KoscPlecySrodek)
ustalającym przypięcie końca dodanej kości.
UdoNapinaczP, UdoNapinaczPKontrol - napinają siatkę w okolicy pachwiny, górnej
części uda. Również wykorzystuje obiekt pomocniczy (HelperUdoNapinaczP), punkt
przytrzymujący (KrKoscOgonowa), oraz mechanizmy wymuszania.

Jak wspomniałem wyżej, środowisko 3ds MAX, dysponuje również wbudowanymi


narzędziami, pozwalającymi w szybki sposób wygenerować szkielet postaci i
przypisać do niego skórę. Mechanizmy to są często wykorzystywane przy tworzeniu
gier komputerowych, gdzie mamy do czynienia z dużą liczbą różnego rodzaju
postaci, podobnych do siebie fizjonomicznie, a zróżnicowanych jedynie wizualnie, a
zależy nam na zminimalizowaniu czasu „ożywiania” bohaterów. Poniższy rysunek
(Rys. 4.10) przedstawia porównanie, stworzonego przeze mnie szkieletu, z
wygenerowanym jednym kliknięciem systemem kości, tak zwanym Bipedem.

Rys. 4.10. porównanie systemów kości:


a – wygenerowany przeze mnie w projekcie, b – Biped

Łatwo zauważyć znaczne podobieństwa między obiema strukturami,


szczególnie w obszarze nóg, kręgosłupa, szyi i głowy. Różnice odnajdziemy w
łańcuchu ręki, dłoni i ramion, gdzie moją strukturę cechuje większa złożoność. Taka
budowa była zamierzona, ze względu na dość duże skomplikowanie sekwencji
ruchów, które zamierzałem wykonać. Nie chciałem by na którymś etapie animowania
okazało się, że mój szkielet nienaturalnie deformuje siatkę, bądź system kości nie
pozwala wykonać jakiegoś ruchu.
Kolejna, ważna różnica, to sposób zarządzania zależnościami między
kośćmi. Ruch Bipedu jest obliczany przy użyciu kinematyki odwrotnej. Na kości

21
nałożone zostały pewne odgórne ograniczenia uniemożliwiające wykonanie
nienaturalnych ruchów, a kolejne pozy nadajemy zgodnie z hierarchią dziecko -
rodzic. Przykładowo – położenie i orientacja łańcucha ręki obliczane jest na
podstawie przesunięcia i obrotu dłoni. Daje to możliwość bardzo szybkiego
animowania pewnych sekwencji ruchu jak na przykład chód, czy rodzaje ataków
ręcznych. Użycie opcji Snap zapobiega przesuwaniu obiektów między sobą, na
przykład przesuwaniu nogi po powierzchni podłogi.

Używając tych samych narzędzi i przy zastosowaniu podobnych


mechanizmów, możemy łatwo wygenerować kompletny szkielet twarzy postaci.

Rys. 4.11. Przykład siatki głowy postaci wraz z widocznym fragmentem systemu kości i
obiektami kontrolnymi
OŻYWIANIE POSTACI

Ten etap, często określany mianem „rigowania” wieńczy tworzenie postaci.


Czas trwania a także stopień jego trudności jest w dużej mierze zależny od tego, jak
poprawną siatkę postaci udało nam się uzyskać. Często dopiero tutaj okazuje się, jak
niedoskonałe modele stworzyliśmy i jak wiele jeszcze wymagają poprawek.
Technicznie rigowanie postaci polega na nadaniu wierzchołkom siatki
odpowiednich wag, określających jak przemieszczenie danej kości szkieletu wpłynie
na przemieszczenie wierzchołka w przestrzeni. Oczywiście nie zawsze będziemy
nadawać kolejne wagi ręcznie (choć czasami będzie to jedyne rozwiązanie), gdyż
byłoby to zbyt pracochłonne, szczególnie w przypadku złożonych siatek. W
zależności od zastosowanego modyfikatora będziemy mogli wykorzystać pewne
pomocnicze narzędzia, znacznie ułatwiające pracę.

22
Do przypisania siatce szkieletu będziemy używać dwóch modyfikatorów:

1. Physique (Rys.5)– proste narzędzie, pierwszy z mechanizmów rigowania,


dostępny w środowisku 3ds MAX. Daje dużą swobodę przyporządkowania i
można dzięki jego zastosowaniu uzyskać bardzo dobre rezultaty i naturalne
zachowanie siatki. Modyfikator stosujemy analogicznie do każdego innego,
dostępnego w bibliotece modyfikatorów. Aby zauważyć efekt działania, należy
po nałożeniu modyfikatora na postać wskazać mu główną kość szkieletu, który
chcemy wykorzystać do deformacji siatki. Dla Bipeda jest to kość standardowo
nazywana Bip 01, dla szkieletu tworzonego ręcznie będzie to nadrzędna dla
całego szkieletu kość w hierarchii.
Po nałożeniu modyfikatora program automatycznie przypisze wierzchołkom
siatki wagi, które obliczy odpowiedni algorytm. Oczywiście efekt takiego procesu
nie przypomina w niczym ożywionej postaci-poruszenie dowolną kością powoduje
deformację siatki znacznie odbiegającą od zachowania skóry czy ubrania. Dzięki
dużej ilości opcji dostępnych dla modyfikatora, możemy szybko wykonać korekty.
Modyfikator posiada kilka poziomów zagnieżdżenia, na których możemy
pracować. Osobiście polecam szczególnie tryb wierzchołków, którego
zastosowanie zaprezentuję na zajęciach. Praca w tym trybie będzie dość trudna i
żmudna, szczególnie dla postaci o gęstej siatce, ale daje pełną kontrolę nad
zachowaniem siatki. Dobrze sprawdza się również tryb kopert (Envelopes), gdzie
ustalając kształt koperty, odpowiadającej kolejnym kościom, możemy wykonać
przypisanie w bardzo krótkim czasie, nie daje jednak już tak dużej kontroli nad
zachowaniem siatki.

Rys. 5. Panel modyfikatora Physique dla trybu wierzchołków.

23
W trybie wierzchołków modyfikatora mamy do dyspozycji następujące opcje:
- zakładka Vertex - Link Assingment – określa na jakim poziomie
selekcji/przyporządkowania wierzchołków będziemy pracować. Kolor
czerwony oznacza „miękkie” przypisanie, kolor zielony sztywne, kolor niebieski
przypisanie z wagą zerową.
- Blending Beetween Links – określa maxymalną ilość kości, do których może
zostać przypięty pojedynczy wierzchołek. Preferowana wartość to N-Links,
określający nieskończoną liczbę możliwych przypisań, jednak czasami, kiedy
zależy nam na ograniczeniu tej liczby, możemy zastosować inną wartość.
- Vertex Operations – zakładka zawiera operacje, jakie możemy wykonywać na
wierzchołkach wybranej siatki. Do dyspozycji mamy selekcję (Select) na
poziomie określonym w zakładce Vertex – Link Assingment, lub na podstawie
przypisania (Link Assingment). Zaznaczenie opcji Assign to Link pozwala na
wybór kości, do której przyłączymy zaznaczone wcześniej wierzchołki,
Remowe from Link – oznacza odpięcie selekcji od wybranej kości.
Wykorzystanie tych opcji pozwala nadać poszczególnym wierzchołkom
odpowiednie wagi. Jeśli jednak okaże się, że siatka nie jest jeszcze
odpowiednio przypięta, możemy wykonać korekty używając bardziej
zaawansowanych opcji, jak blokowanie przypisania dla grupy wybranych
wierzchołków (Lock Assignment), i nadać im wagi ręcznie, używając tabeli
wag dostępnej pod przyciskiem Type - in – Weights. Jest to mechanizm
szczególnie przydatny przy wykonywaniu miękkich zagięć siatki, na przykład
zgięć rękawów lub innych. Aby ułatwić sobie pracę, cześć wierzchołków
możemy zaznaczyć i ukryć (Hide).
Jak wcześniej wspomniałem, każdej kości, używanej przez nas do ożywienia
postaci, również tym, składającym się na Biped, odpowiada jej koperta. Koperta
obejmuje swoim zasięgiem zespół wierzchołków, które z nią sąsiadują,
Wierzchołkom tym nadawane są automatyczne wagi, a zasada ich działania jest
identyczna, jak w przypadku nadawania ręcznego.
Zastosowanie Physiqua pozwala wykonać korektę tego przypisania, za pomocą
dostępnych narzędzi.

24
Rys 6. Panel modyfikatora Physique dla trybu kopert

- Selection Level – zakładka pozwala na wybór poziomu dokonywania selekcji –


kości (Links), promieni (Cross Section), punktów kontrolnych (Control Points)
oraz przemieszczania się w obrębie poziomu (Previous, Next).
- Koperty mogą posiadać zdolność deformacji (dopasowują się w do położenia
kości w miejscach zagieć), lub być sztywne (Rigid). Mamy wpływ na promienie
ograniczające kopertę, zarówno wewnętrzny (Inner), zewnętrzny (Outer), jak i
na oba jednocześnie (Both). Możemy również ustalać stopień, w jakim koperta
danej kości wpływa na wierzchołki znajdujące się w sąsiedztwie kolejnej kości
(Child Overlap), lub kości poprzedzającej (Parent Overlap). Parametry te
ustalmy w zakładce Envelopes Properities.
- Mamy możliwość wpływu na parametry koper również dodając dodatkowe
promienie oraz punkty kontrolne (Insert), możemy też w ten sam sposób
dodawać całe koperty, oraz oczywiście je usuwać, kopiować, wklejać. Po
zaznaczeniu opcji wyłączania (Exclude) możemy na siłę odłączyć od koperty
poszczególne obszary, a gotowy system kopert możemy lustrzanie odbić
(Mirror). (Polecenia dostępne w zakładce Commands).

25
- Zakładka Display pozwala na personalizację wizualną sposobu wyświetlania
kopert i ich parametrów przez program.
Pozostałe poziomy zagnieżdżenia i ich funkcjonalność pozostawiam Państwu do
poznania we własnym zakresie.

2. Skin – określany jako następca Physique, bogaty w różne mechanizmamy do


przypinania siatki. Jego wykorzystanie wymaga sporego doświadczenia,
jednak umiejętne użycie sprowadza się do przypisania do szkieletu jedynie
połowy siatki postaci, drugą część pracy wykona za nas komputer.
Należy zwrócić uwagę na to, by zastosować modyfikator dla siatki tak, by znajdował
się on na stosie poniżej modyfikatora wygładzania (Mesh Smooth, Turbo Smooth lub
inne). W przeciwnym wypadku następuje znaczny wzrost liczby wierzchołków, a co
za tym idzie siatka staje się znacznie trudniejsza do obróbki.
Modyfikator Skin nadaje wagi poszczególnym wierzchołkom siatki, określające
sposób reagowania wierzchołka na ruch danej kości. Pomimo wbudowanych
mechanizmów automatycznych, często wymagane jest ręczne modyfikowanie wag.
Zatem zastosowanie kolejności modyfikatorów: Edit Mesh, Skin, Mesh Smooth,
przyniesie jeszcze oczywistą korzyść, jaką jest ogromna oszczędność czasu (mniej
wag do ustalenia).
Modyfikator Skin posiada znaczną liczbę opcji (Rys. 7). Obszar Parameters
pozwala na dodawanie dla skóry kości, które będą na nią wpływać, następnie ustalić
stopień tego wpływu oraz na różne sposoby zmieniać wagi poszczególnych
wierzchołków w siatce. Mirror Parameters zawiera opcje związane z lustrzanym
odbijaniem wag wierzchołków według płaszczyzny symetrii postaci, co zostanie
opisane poniżej, Display pozwala ustalić sposób wyświetlania kopert i wierzchołków
w widokach programu. Advanced Parametrs z kolei, udostępnia zaawansowane
mechanizmy pozwalające manualnie poprawiać błędy, jakie czasami generują
automatyczne mechanizmy nadawania wag i włączania/wyłączania wierzchołków.
Ostatni obszar, Gizmo, umożliwia zapobieganie niepożądanym załamaniom siatki-
skóry.

26
Rys. 7. Panel modyfikatora Skin.

Pierwszym krokiem do stworzenia naturalnie zachowującej się skóry, jest


wskazanie jej obiektów modyfikujących. Wybieramy przycisk Edit Envelopes,
następnie klikamy prawym klawiszem myszy na wybranym widoku programu i z
menu podręcznego wybieramy AddBone. Kolejno najeżdżamy kursorem na
poszczególne kości i wybieramy, kontrolując czy zaznaczona kość pojawiła się na

27
liście. Oczywiście możliwe jest zaznaczenie wszystkich kości szkieletu i kliknięcie
opcji Add, jednak nie jest to rozwiązanie w pełni prawidłowe. Szkielet zawiera
bowiem znaczną ilość kości, których nie będziemy używać jako modyfikujących
siatkę. Są to głównie zakończenia kości. Tak więc lepiej poświęcić na dodawanie
kości nieco więcej czasu i uwagi, aby ustrzec się potencjalnych błędów i poprawek.
Często popełnianym błędem jest pozostawienie na tym etapie tzw. Bone Fins. To
pomocnicze elementy kości, pozwalające zarysować obszar ich oddziaływania.
Jednak na tym etapie tworzenia postaci powodują powstanie dodatkowych kopert,
okalających każdy z takich obiektów pomocniczych, co utrudnia potem pracę.
Dodanie kości do listy powoduje, że dla każdej z nich tworzona jest koperta.
Kolory od czerwonego, przez żółty, po niebieski, oznaczają kolejno malejące wagi
wpływu. Wierzchołek oznaczony na czerwono będzie śledził dokładnie położenie i
ruch danej kości, natomiast niebieski jedynie częściowo. Automatycznie generowane
koperty nie dają jednak zadowalającego rezultatu już przy pierwszej próbie ruchu
którąkolwiek częścią szkieletu. Okazuje się, że część siatki reaguje zbyt „nerwowo”,
inna część dla odmiany pozostaje nienaruszona, co skutkuje całkowitą deformacją
siatki. Należy więc manualnie ustalić odpowiednie obszary i wagi.
Rozpoczynamy od modyfikacji obszarów działania poszczególnych kopert.
Dla zachowania pełnej symetrii modyfikujemy jedynie koperty po wybranej stronie
postaci, następnie odbijamy je lustrzanie dzięki wbudowanym narzędziom. Takie
postępowanie pozwala również zaoszczędzić sporo czasu.
Chwytając za odpowiednie punkty kopert dopasowujemy ich rozmiar i kształt
tak, aby modyfikowały żądany fragment siatki (Rys. 8). Dążymy do jak
najdokładniejszego pokrycia siatki postaci kolejnymi kopertami. Oczywiście pola
oddziaływania kopert mogą się na siebie nakładać częściowo, co odpowiada sytuacji,
gdy ruch dwóch lub więcej kości ma wpływ na deformację siatki w pewnym obszarze.

Rys. 8 Przykładowy obszar działania koperty

Kontynuujemy dopasowywanie kopert do momentu pokrycia kolejnymi


obszarami całej postaci. Na tym etapie ruch kontrolerem, lub kością, powoduje dużo
bardziej zbliżoną do naturalnej deformację siatki-skóry. Należy jednak poświęcić
jeszcze trochę czasu, aby efekt był w pełni zadowalający.
Analiza przyporządkowania wierzchołków kopertom pozwala dostrzec jego
niedociągnięcia. Odnajdziemy bowiem wiele punktów, szczególnie w obszarach
zagięć, tam, gdzie fragmenty siatki znajdują się bardzo blisko siebie, gdzie koperta
wybranej kości obejmuje niewłaściwe wierzchołki. Wynika to oczywiście z owalnego
kształtu koperty, ale jest też często konsekwencją niewłaściwego ustawienia siatki
postaci przed tworzeniem szkieletu (ułożenie kończyn „po ciele”, zbyt blisko położone
kończyny). Oczywiście mamy również do czynienia z sytuacją odwrotną, jeden lub
więcej wierzchołków nie znalazły się w odpowiedniej kopercie. Należy w tych

28
przypadkach użyć narzędzia Include/Exclude Selected Verts, dostępnego w
obszarze Parametrs, Weight Properities, Modyfikatora Skin. Zaznaczając kość i
następnie odpowiednie wierzchołki, możemy włączyć lub wyłączyć je z działania
danej koperty.
Na tym etapie porządkowania wag należy wykonać próbę polegającą na
zaanimowaniu kilku przykładowych ruchów, jakie wykonywać będzie miała nasza
postać. Jest to o tyle ważne, że pozwala dostrzec pozostałe błędy rozmieszczenia
wag wierzchołków i wykonanie ostatnich korekt. Podmalowywanie wag (Paint
Weights), to metoda wizualnie prezentująca proces modyfikacji. Po wybraniu
odpowiedniego promienia (ile wierzchołków będzie obejmować działanie narzędzia)
oraz siły (o jaką wartość zmieni się dana waga wierzchołka), tam, gdzie dostrzegamy
błędy możemy wykonać szybkie korekty, które natychmiast widoczne są na ekranie.
Do bardziej zaawansowanych metod należy ustalanie wag punktów ręcznie, przy
użyciu tablicy wierzchołków (Weight Table). Możemy tutaj, po odszukaniu
odpowiedniego wierzchołka nadać mu liczbową wartość, określającą stopień
przyporządkowania. Jest to jednak rozwiązanie dość kłopotliwe i pracochłonne.
Trzeba zwrócić uwagę, że wagi modyfikowane w ten sposób nie poddają się odbiciu,
a więc należy na tym etapie działać już na obu stronach postaci.

W ten sposób przygotowaną postać możemy umieścić w scenie i przystąpić do


animowania.

Źródła:
www.3dtotal.com - wybrane tutoriale
„Wybrane zagadnienia animacji postaci” praca magisterska, Marcin Jarzyna, 2006
„Tworzenie mimiki twarzy”, praca magisterska, Rafał Redel, 2006
3ds MAX 8 User Reference,

29

You might also like