Modelowanie głowy - Nurbs - Patches


Na początku pragnę zaznaczyć, ze nie jestem zwolennikiem, tworzenia modelu głowy z nurbs, metodą którą przedstawiam w niniejszym przykładzie. Powstał on na prośbę kilku osób. Uważam ze siatki nurbs są łatwiejsze do animowania (szczególnie w przypadku mimiki twarzy), niż siatki zrobione z poligonów. Nie miej jednak samo modelowanie za pomocą np. sub division, jest o wiele łatwiejsze i przyjemniejsze a animowanie, każdej dobrze zrobionej siatki też nie nastarcza wielu kłopotów. Osobiście wole modelować kształt twarzy za pomocą curves, tworząc później powierzchnie nurbs narzędziem Birail lub Boundary (patches). Ma ona podstawową zaletę, a mianowicie zachowujemy pełną kontrolę podczas modelowania, wymaga jednak dobrej orientacji w przestrzeni 3d.

Wracając do naszego przykładu, na początek jak zwykle dobrze jest mieć jakiś szkic twarzy (profil i anface), które tradycyjnie wrzucamy na tło, ( w czasie pracy zmieniłem szkice, z biało czarnych na czarno czerwone, dla wygody pracy, nie zdziw się, że różnią się na załączonych obrazkach). Sposób w jaki się dodaje szkice do tła, był już niejednokrotnie opisywany. Więc, pozwolę sobie na skopiowanie tekstu dotyczącego czynności jakie należy wykonać z poprzedniego mojego tutoriala.

Rozpoczniemy prace od stworzenia dwóch płaszczyzn obrazka, które stanowić będą wzór dla naszego modelu.
Przejdź do widoku SIDE, wybierz zakładkę View > select camera, następnie kombinacje klawiszy Ctrl+A. Lub, może będzie ci wygodniej wybrać z menu window > rendering editors > hypershade otworzy się okno hypershade, wejdź do zakładki cameras kliknij dwa razy na ikonę sideShape, pokaże się okno Attribute Editor.

Jeżeli chcesz ściągnąć przykładowe szkice kliknij: FRONT | SIDE

W oknie Atribute Editor, wybierz roletę Environment, rozwiń ją i kliknij na dostępny tu przycisk Create Image Plane. Stworzysz w ten sposób nowa płaszczyznę obrazu. Okno Atribute Editor pokazuje w tej chwili opcje dotyczące nowej płaszczyzny obrazu, wybierz znajdującą się w polu Image Name ikone Browse (wizerunek teczki) i wczytaj szkic (obrazek w tym oknie profil twarzy), która chcesz wymodelować rys. (r0).


Utwórz teraz Layer do którego wrzucisz widok SIDE, bardzo przyda się on w twojej dalszej pracy. W layers options patrz w prawy dolny rogu monitora, kliknij na ikonę służącą do tworzenia nowych warstw, następnie kliknij szybko 2 razy LMB (lewym przyciskiem myszki) na nowo powstała warstwę(Layer) w polu Name wpisz "obrazek" zatwierdź save. rys (r0a)


Wyselekcjonuj ponownie w oknie hypershade ikonę sideShape, kliknij na nazwę warstwy RMB(prawy klawisz myszki) z rozwiniętego menu wybierz Add Selected objects w ten sposób przypisałeś widok front do warstwy. Możesz go teraz w prosty sposób chować i pokazywać, wybierając literkę V w okienkach warstwy.
Identycznie postępuj z obrazkiem przedstawiającym drugi rzut głowy, tym razem, z płaszczyzną obrazu w widoku front.


Możesz przystąpić do modelowania. Rozpocznij od stworzenia Create > NURBS Primitives > Sphere, wejdź do opcji sphere i ustaw Number of Section = 4 i Number of Spans = 4. (r2).


kliknij na obiekcie prawym przyciskiem myszki(RMB) pokaże ci się podręczne menu, wybierz Isoparm i zaznacz górną i dolną isoparme, przejdź do Edite Nurbs > Detach Surfaces, wróć do selekcji obiektu, zaznacz odciętą górną i dolną część sphery i naciśnij klawisz Delete (na klawiaturze).
Teraz przejdź do edycji elementów wybierz selekcje points i hulls, dopasuj siatkę tak aby jeden z otworów był na wysokości ust a drugi szyi. (r5)


Dodajmy teraz kilka izoparm, aby lepiej móc dopasować kształt czaszki, kliknij na obiekcie prawym przyciskiem myszki(RMB) pokaże ci się podręczne menu, wybierz Isoparm, teraz kliknij myszką w dowolnym miejscu na siatce, pokaże ci się żółta linia reprezentująca izoparme, trzymając dalej wciśnięty klawisz myszki przesuń ją w odpowiednie miejsce. Wciśnij klawisz shift i utwórz potrzebną liczbę izoparm jak na rys.(r7,8 i 9),

nie musisz robić partiami, możesz zaznaczyć od razu żądaną liczbę izoparm, kiedy będziesz miał już odpowiednią ilość wejdź do menu Edit NURBS i wybierz Insert Isoparms (sprawdź, czy masz włączoną opcję Between Selections, jak raz ustawisz tą opcję Maya zapamięta do końca twojej pracy to ustawienie). Powinieneś uzyskać kształt podobny do tego na rysunku (r10), lub jeżeli pracujesz na swoim szkicu powinien pokrywać się miej więcej z kształtem przedstawionym na nim.


Dodaj znanym już ci sposobem, izoparme na środku głowy (r11). Będzie ona, nam później potrzebna, do oddzielenia jednej polówki głowy.


Zajmij się teraz wstępnym dopasowaniem kształtu ust i szyi, znowu przejdź do edycji elementów (o ile się w niej nie znajdujesz) wybierz selekcje points (czyli wierzchołki CV krzywej)i hulls, przesuwając, scalując i rotując points zmodyfikuj kształt tak żebyś był z niego zadowolony, ja zrobiłem to tak jak widzisz na rys. (r12,13 i 14).


Aby usta nabrały właściwego kształtu potrzebne ci będą dodatkowe izoparmy, dokładnie trzy (r15).

Zaznacz points (CV krzywej) należące do pierwszego hullsa (wystarczy, że klikniesz na któryś z odcinków reprezentujących selekcje hulls i zaznaczą ci się wszystkie points należące do niej, nie musisz wybierać pojedynczo points).Przesuń wybrany fragment do środka głowy (r16 i 16a),

następnie go zeskaluj jak na rysunku (r16b), który przedstawia widok od wnętrza głowy.


Zaznacz drugą selekcje i zamknij usta, skalując po prostu wierzchołki CV (r17 i 17a).


Wybierając 3 i 4 selekcje tak manipuluj wierzchołkami CV, aby otrzymać odpowiadający ci zarys ust (r18).

Zaznacz, wcześniej utworzoną przez środek głowy izoparme, wejdź do menu Edit NURBS i wybierz Detach Surfaces. Wyrzuć prawą część twarzy (r19).


Dodajemy kolejne izoparmy jedna V i dwie U, jedna potrzebna będzie do modelowania górnej części twarzy dwie do wymodelowania kącika ust (r19a).


Popraw usta tak jak na rysunku (r20).


Teraz popraw położenie izoparm V oraz kształt głowy (r21 i 21a)
tak by lepiej modelowało się siatkę.

Zaznacz siatkę i przebuduj powierzchnię Edit Nurbs > Rebuild Surfaces, nie zapomnij włączyć w opcjach Keep CV. Oddziel przednią część twarzy znanym ci już sposobem, schowaj tył głowy aby nie przeszkadzała ci na razie w pracy (r22). Będziesz od teraz często dzielił siatkę, ma to na celu wyeliminowanie niepotrzebnego dokładania izoparm na całej powierzchni siatki.


Dodaj znowu 3 izoparmy U i 2 V które pomogą ci wyprowadzić kształt nosa i górnej wargi (r23), oczywiście manipulujesz selekcją points (wierzchołki CV krzywej).

Musisz dodać jeszcze 2 izoparmy V aby nosowi nadać lepszy kształt (r24), popraw jeszcze zarys policzków i nosa tak, żeby izoparmy były rozłożone jak na rys (r24a).


Podziel twarz na jeszcze mniejsze części (r25), zaznacz izoparme i detach surfaces.


Popraw wygląd kości policzkowej w tym celu dodaj jeszcze jedna izoparme V i jedna U jak na rys. (r26i 27),

teraz bez problemu nadasz jej odpowiedni kształt. Tak mniej więcej powinna wyglądać górna część twarzy po wprowadzonych modyfikacjach (r28).


Ponownie podziel twarz, tak aby wyodrębnić część z której wymodelujesz kształt oczodołu (r29).

Dobrze jest przy modelowaniu oczodołu podstawić sobie sphere wielkości gałki ocznej i do niej dopasowywać kształt (r29a), oczywiście można zrobić to później , ale po co robić dwa razy to samo.


Wprowadź 8 izoparm V i 4 U (r30).

Wybierz 5-ta od dołu izoparme i podziel tą część Edit NURBS > Detach Surfaces, dzięki temu będziesz mógł zrobić otwór na oko i go wymodelować (r31,32 i 34), zachowaj ostrożność przy modelowaniu kącików oka, żeby nie zrobić za dużych odstępów.

Gdybyś robił dokładną siatkę radziłbym tu dodać po jeszcze jednej izoparmie. Tak powinno wyglądać po wymodelowaniu (r34a).


Podziel jeszcze część siatki tworzącej czoło tak jak na rys. (r34), masz wyodrębnione w ten sposób czoło, na którym wymodelujesz teraz zmarszczki.
Dodaj 11 izoparm (r35), zaznacz points jak na rys. (r36) i przesuń je do środka głowy (r37), zmarszczki mają regularny kształt, trzeba je troszkę zniekształcić ale myślę , że z tym sobie poradzisz.


Nie za bardzo podoba mi się część siatki pod okiem, postanowiłem to zmienić, aby to zrobić, potrzebne będzie trochę więcej przestrzeni na siatce. W tym celu zaznacz część siatki pod okiem i część policzkową, przejdź do selekcji elementów wybierz izoparm zaznacz izoparemy sąsiadujących części (r38), przejdź do menu Edit NURBS > Atach Surfaces, tak wygląda po wprowadzeniu modyfikacji (r39).


Wywołaj funkcje show > all z menu Display, zaznacz wszystkie części głowy, wybierz z menu Edit > Delete by Type > History, następnie kombinacja klawiszy ctrl + d tworzysz kopie wszystkich części, teraz w chanelbox w pisz w polu scale X minus przed wartością jak się tam znajduje (r39a) i (r40).


Powstała druga połówka twarzy, połącz sąsiadujące ze sobą części obu stron w identyczny sposób jak zrobiłeś to łącząc ze sobą części pod okiem. Łącz sąsiadujące ze sobą części obu stron jak na rysunku (r41 i 41a) i tak po kolei.

Zaznacz wszystkie połączone części wejdź do menu Edit NURBS i wybierz Stich > Global Stiche, jeżeli wszystko wykonałeś poprawnie, po zaznaczeniu części nosowej twarzy i przesunięciu jej do przodu, powinno łączenie między częściami ciągnąć się jak guma patrz rysunek (r42),

po sprawdzeniu wciśnij ctrl +Z. Dodajmy teraz uszy, uszy najprościej robi się też ze sphery. Utwórz sphere nurbs, zmień w opcjach axis na X, number of section na 8 Number of spans na 4 (r44) wybierz ok.


Dodaj na powstałej kuli dwie izoparmy (r45), wejdź do menu Edit NURBS i wybierz Detach Surfaces, zostaw środek kuli resztę potraktuj klawiszem delete.

Teraz manipulując wierzchołki CV krzywej i dodając izoparmy w znany ci już sposób wymodeluj ucho (r46), Po niewielkich modyfikacjach będziesz mógł go używać w innych swoich projektach.


Dodaj źrenice do gałki ocznej. Wybierz Window > Rendering Editors > Hypershade otworzy ci sie wspaniałe okno Hypershade z panelu Create Materials wybierz Blinn (r47).

Zobaczysz ikonę tego materiału w Work Area (r48).

Kliknij na nią dwa razy, otworzysz w ten sposób, okno Atrybutów tego materiału, kliknij na ikonę szachownicy w polu color (r49), wyświetli ci się panel Create Render Node, wybierz węzeł Ramp (r50).

W ramp atributes, wybierz niebieskie kółko i przeciągnij go pod kolor zielony (r51), teraz kliknij na zielone kółko, zauważ że barwa w polu Selected color zmieniła się na zieloną, kliknij na to pole i zmień jego barwę na białą, zrób tak samo z czerwonym kólkiem, tyle że zmnień kolor na czarny. Następnie poprzesuwaj kólka tak, żeby powstał cieńki czarno niebieski pasek, jak na rysunku (r52),

zmień w polu Type V Ramp na U Ramp, Interpolation ustaw na None. Zaznacz siatkę gałki ocznej, wróć do Hypershade, kliknij prawym klawiszem myszki w Hypershade na ikonkę blinna, wybierz z otwartego menu Assign Material To Selection, wciśnij klawisz „6”, powinno wyglądać tak jak na rysunku (r53).

Jeżeli żrenicy nie widać ustaw po prostu oko, we właściwym położeniu. Dodałem także beret, który też wymodelowałem ze sphery, ale nie będę pokazywał jak, myślę że już tak dużo umiesz, że wymodelowanie czegoś tak prostego nie będzie sprawiać ci trudności.


Spróbuj ją wyrenderować, ale zanim to uczynisz i zaczniesz panikować, że widać łączenia między poszczególnymi częściami twarzy, zrób następujące czynności. Zaznacz tył głowy, wciśnij kombinację klawiszy ctrl +A i teraz w otwartym oknie atrybutów przejdź do zakładki Tessellation następnie Advanced Tessellation zaznacz Enable Advanced Tessellation i w polu Number U i Number V wpisz 10. (Jeżeli będzie ci później długo obliczał rendering zmień wartość na 5 powinno wystarczyć). Uczyń tak dla każdej części siatki J. Przejdź do Window > Rendering Editors > Render Globals albo wybierz ikonkę Display Render Globals Window (r54).

Wejdź do Resolution zmień na 640 X 480, potem do Anti-aliasing Quality wybierz w polu presets Production Quality i możesz próbnie renderować. Powinieneś otrzymać taki efekt (r55).

Dodałem jeszcze parę włosów i zmieniłem kolor bereta ale to już być może w następnym przykładzie (r56).


Pozdrawiam wszystkich mayowiczów i życzę miłej pracy.

Szem

9 września 2002

Tutorial napisany dla: www.maya3d.users.pl