12 września 2009

Maya Fur Part 5

Hair System


Nie da się animować ruchu futra nie zahaczając o Maya Hair, na szczęście nie musimy wiedzieć o nim wszystkiego, wystarczy połowa ;)

Hair System służy do tworzenia i animowania długich włosów ale nadaje się także do symulacji lin, łańcuchów, paciorkowych zasłon i tego typu rzeczy ;)
Hair System to zbiór "follicles" te z kolei składają sie z 3 krzywych Start, Curent i Rest Curves
krzywe Start to krzywe początkowe, na początku symulacji nornalne krzywe(curent curves) pokrywaja sie ze start curves
krzywa Rest to dodatkowa krzywa która definiuje kształt włosa bez działania sił jak grawitacja, za jej pomocą układamy fryzurę
curent curves przez całą symulacje starają sie (na ile pozwalają im działające siły) jak najlepiej dopasować do kształtu rest curve mam nadzieje że to jasne ;)


aby dodać Hair System zaznaczamy powierzchnie NURBS lub Polygon i wybieramy Hair-> Create Hair i otwieramy opcje


W Output: wybieramy NURBS curves (można też wybrać Paint Effects and NURBS Curves żeby utworzyć także włosy)
Create rest curve tworzy rest curve
Grid tworzy sieć krzywych na całej zaznaczonej powierzchni
At Selected Points/Faces tworzy krzywą na miejscu zaznaczonego Face(polygony) lub Surface Point (NURBS)

U Count/ U Count określa ilość krzywych wzdłuż kierunku U lub V powierzchni
Passive Fill określa proporcjonalnie ilość pasywnych krzywych do krzywych aktywnych, pasywne krzywe przejmują deformacje od sąsiadujących krzywych aktywnych
i przez to są lżejsze do symulacji ale mniej dokładne, dla Passive Fill 1 co druga krzywa jest pasywna, dla 2 są 2 pasywne 1 aktywna itd.
Randomization gdy wartość jest większa od 0 ułożenie krzywych jest bardziej losowe a nie wyrównane do lini prostej



Edge Bounded gdy zaznaczone krzywe są tworzone także na brzegach UV

Equalize użyj tej opcji żeby wyrównać dystrybucje krzywych na powierzchni z nierównomiernym mapowaniem UV,
lub po użyciu Randomization aby równomiernie rozmieścić krzywe nie tworząc wolnych przestrzeni w jednym i skupisk w drugim miejscu

Dynamic tworzy animowane krzywe tzn. krzywe będą reagować na grawitacje, na ruch obiektu itd.
Static gdy nie zależy nam na animacji a tylko na ułożeniu futra wybieramy Static
Points per hair: działa podobnie jak Segments dla Fura, określa z ilu punktów składa sie krzywa im dłuższy włos tym ta liczba powinna być większa
jako że to są krzywe NURBS to w przeciwieństwie do Fura nie trzeba ustawiać wysokich wartości żeby krzywa była gładka
Length określa długość włosa, gdy nasze futerko ma włosy o długości 2 żeby lepiej dopasować Hair System też należy wpisać 2
Places hair into: określa czy dodane włosy będą miały nowy hair system czy też dołączą do istniejącego



Jest też narzędzie które bardziej intuicyjnie pozwala dodawać a właściwie malować krzywe na powierzchni Hait-> Paint Hair Follicles



Za pomocą tego narzędzia możemy zarówno dodawać nowe jak i modyfikować już istniejące Hair Systemy

Opcje narzędzia są niemal takie same jak w przypadku Paint Fur Atributes więc skupie się tylko na Paint Hair Follicles Settings

Paint mode tu wybieramy co będziemy malować
Create Follicles pozwala tworzyć aktywne krzywe
Create Passive Follicles pozwala tworzyć pasywne krzywe
Delete Follicles usuwa wskazane krzywe
Edit Follicle Attributes pozwala edytować różne atrybuty włosów i krzywych wymienione w rozwijanym menu Follicle Attribute
Trim Hairs skraca krzywe, należy skorzystać z trybu Replace w Tool Settings a Value określa jak bardzo włosy sie skrócą w odniesieniu do swojej aktualnej długości,
dla 0,5 skraca sie o połowę 50%, dla 1 wcale sie nie skrócą a dla 0 skrócą sie o 100 procent czyli do zera :)
Extend Hairs wydłuża krzywe, należy skorzystać z trybu Add w Tool Settings a Value określa jak bardzo włosy sie wydłużą

Follicle Attribute dostępne tylko gdy w Paint Mode wybraliśmy Edit Follicle Attributes i pozwala nam wybrać jaki atrybut będzie modyfikowany
jako że my tworzymy tylko krzywe to tylko część tych atrybutów będzie nas ewentualnie interesować np. Stiffness czy Damp
Hair System tu określamy czy tworzymy bądź modyfikujemy krzywe w istniejącym hair systemie czy też tworzymy nowy

Output określa czy będą tworzone krzywe, włosy czy krzywe i włosy jako że my potrzebujemy tylko krzywych do deformacji futra wybieramy NURBS Curves

Follicle Density U/V tworzy jakby siatkę niewidzialnych krzywych które mogą być namalowane :) najlepiej ustawić te parametry na duże wartości
oraz ustawić mały promień pędzla co pozwoli nam utworzyć krzywą niemal w dowolnym miejscu

Points per hair określa ilość segmentów z których składa się malowana krzywa lub gdy malujemy w trybie Trim lub Extend określa na ile segmentów wpływają te operacje

Hair Length określa długość tworzonej krzywej



Jeżeli po dodaniu Hair Systemuv zmieniliśmy zdanie co do długości krzywych to musimy skorzystać z Hair-> Scale Hair Tool i odpowiednio je wyskalować
można skalować wszystkie włosy na raz lub tylko zaznaczone, kliknięcie w oknie i przeciągnięcie w prawo powiększa a w lewo zmniejsza krzywe

Aby przyłączyć hair system do futra trzeba zaznaczyć hair i wybrać Fur > Attach Hair System to Fur i wybrać nazwę futra na które ma wpływać hair system
lub za pomocą Window > Relationship Editors > Hair/Fur Linking podświetlone elementy są połączone, utworzy to Curve Attractor Node
można podłączyć kilka futerek do jednego Hair Systemu

Pod dodaniu hair systemu do fura warto dopasować jego kształt do włosów Fur > Set Start Position To > nazwa futra

Aby odłączyć Hair System należy wybrać Fur > Detach Hair System from Fur lub jak wyżej posłużyć sie oknem Hair/Fur Linking


Delete Curve Attractor Set usuwa Attractor Node czyli w rezultacie odłącza hair system od każdego futra do którego był podczepiony, nie usuwa samego hair systemu ani włosów

Aby usunąć cały Hair System wystarczy zaznaczyć jego jedną krzywą, włos lub cały hair system i wybrać Hair-> Delete Entire Hair System



Curve Attractor
Przyłączając Hair System do futra tworzy sie CurveAttractor Node który kontroluje sposób w jaki włosy futra reagują na hair system



Attractor Model: dla Local oznacza że każdy włos znajdujący sie w polu działania (Radius) krzywej będzie sie starał mieć taki sam kształt jak ona
dla Global włosy polu działania krzywej są do niej przyciągane tworząc kępy

Curves Per Fur określa ilość krzywych które maja wpływ na pojedynczy włos, dla jeden tylko najbliższa deformuje włos dla 2 dwie itd.

Global Scale działa tak samo jak w Fur Description Node, jest monożnikiem, gdy "przeskalowaliśmy" model pozwala dopasować wartości do nowej wielkości

Assigned Surfaces lista powierzchni do których jest przyczepiony CurvAttractor

Bake Attribute tak jak w Fur służy do "wypieczenia" przypisanej mapy, aby jej działanie było widoczne

Radius promień odległości oddziaływania krzywej na włosy



Power dostępne tylko gdy wybraliśmy Global w Attractor Model, określa w jaki sposób krzywe wpływają na włosy
dla 0 krzywa oddziałuje na cały włos tworzy wklęsłe kępy, dla 1 oddziaływanie jest mniejsze i tworzy bardziej wybrzuszone kępy

Influence określa jak bardzo krzywa wpływa na włos, 0 brak wpływu, 1 normalny wpływa, wyższe wartości wpływa jest większy

Start Length/End Length określają od jakiej i do jakiej długości włosa Attractor będzie na niego oddziaływał


Threshold Length włosy o długości mniejszej od tej wartości nie będą deformowane przez Curv Attractor
Kiedy nie ma ruch podczas symulacji upewnij sie że wartości Threshold Length Hair systemu nie przewyższa długości włosa futra(Length)
Pamiętaj że Global Scale działa jak mnożnik, tak samo jak w Fur Description, Threshold Length*Global Scale nie powinno być większe od długości włosa

Sekcja Details jest dokładnie taka sama jak dla Fur Description i tak samo działa więc nie będę sie rozpisywał ;)


Tak jak w przypadku Fura do kontrolowania atrybutów Curve Attractora można przypisać mapę proceduralną lub zaimportować zwykłą z dysku
można też malować następujące atrybuty za pomocą Pain Fur Attributes Tool: Radius, Power, Influence, Start Length, End Length, and Threshold Length




Display
Aby wyświetlić krzywe Rest, Start lub inne należy skorzystać z Hair-> Display-> mamy tu do wyboru wyświetlanie tylko krzywych Curent,Start lub Rest,
Curent i Start, Curent i Rest oraz wszystkie na raz, do wyboru do koloru ;) Start są grantowe, Rest brązowe a Curent niebieskie i jako jedyne są wygładzone


Kopiowanie kształtu krzywej
Można skopiować kształt jednych krzywych z drugich za pomocą polecenia Hair-> Set Start Position lub Hair-> Set Rest Position
przydaje sie gdy nie chcemy aby za każdym razem symulacja zaczynała sie od prostych krzywych wyglądających jak normalne, tylko bardziej dostosowanych,
wtedy puszczamy na chwile symulacje a jak włosy sie uspokoją to kopiujemy kształt z curent curves do pozostałych krzywych
lub gdy ułożyliśmy fajną fryzurę za pomocą rest curves i chcemy żeby symulacja zaczynała sie właśnie od takiego kształtu to kopiujemy kształt do Start




Static Curves
Jeżeli chcemy tylko ukształtować włosy należy skorzystać z krzywych statycznych (Static)i nie tworzyć dodatkowych krzywych Rest Curves
modyfikować należy krzywe "początkowe" aby je wyświetlić trzeba wybrać Hair-> Display-> Start Position
aby zmodyfikować krzywą trzeba kliknąć na niej prawym przyciskiem myszy i wybrać Control Vertex chwycić za punkt i kształtować tak jak krzywą NURBS
wszystkie włosy w sąsiedztwie na które krzywa ma wpływ dopasują sie do jej kształtu




Można też ręcznie animować krzywe statyczne zaznaczając jej punkty (CV) i ustawiając dla nich klucz klawiszem S, przesunąć Time Slider i punkty i znowu S,
nie jest to najlepszym sposobem na animacje ruchu chyba że zależy nam na jakimś specjalnym nie koniecznie naturalnym efekcie



Modify Curves
Jest też kilka opcji ułatwiających modyfikowanie kształtu krzywych dostępnych w menu Hair-> Modify Curves



Lock Length wymusza utrzymanie stałej długości włosa podczas jego modyfikowania, bardzo sie przydaje przy ręcznym przeciąganiu punktów aby nie rozciągnąć włosa :)

Unlock Length wyłącza Lock Length :)

Straighten prostuje krzywą, ale z reguły po wykrzywieniu i wyprostowaniu krzywa nie będzie w pozycji początkowej, będzie prosta la e pod innym kątem
Straightness określa w jakim stopniu każdy segment krzywej będzie prostowany, dla 0 krzywa sie nie zmieni dla 1 sie wyprostuje, pomiędzy krzywa będzie
prostowana w mniejszym lub większym stopniu a dla 2 odwróci sie, wygnie w przeciwnym kierunku i trochę sie wyprostuje
Preserve Length gdy jest zaznaczony krzywa po wyprostowaniu będzie miała taką samą długość jak przed

Smooth wygładza krzywą
Smooth Factor określa jak bardzo krzywa będzie wygładzona

Curl dodaje marszczenie/ zwije krzywej
Curl Amount określa jak bardzo krzywa będzie pomarszczona
Curl Frequency określa ile będzie "zmarszczeń" większe liczby więcej, mniejsze mniej

Bend zgina krzywą
Bend Amount określa jak duże będzie zgięcie
Twist określa kierunek w którym będzie sie zginała krzywa

Scale Curvature zwiększa lub zmniejsz stopień deformacji krzywej
Scale Factor gdzy jesr większy od 1 dodaje deformacje gdy mniejszy prostuje krzywą
Max Curvature określa maxymalny kąt o jaki może zostać zmodyfikowany segment względem poprzedniego, 1 to 180, 0,1 to 90 itd.



Dynamic Curves
Tworząc krzywe dynamiczne silnik dynamiki zajmie się za nas animacją futra, ale musimy mu powiedzieć jak ma to robić
i tu pojawia sie nasz bohater czyli Hair System Shape Node na szczęście interesuje nas tylko sekcja Dynamics


Solve
Iterations określa ilość przeliczeń silnika na jedną klatkę, ma wpływa na dokładność symulacji i kolizji ale także wpływa na hair Stiffness i Length Flex
dla bardzo sztywnych włosów (stiffness) trzeba ustawić większą wartość tego parametru i tym samym zwiększając czas na przeliczenie ;(

Length Flex określa jak bardzo włos może rozciągnąć sie podczas symulacji dla 0 jest to stosunkowo małe rozciągnięcie, po ustaniu ruchu wróci do swojej długości
a dla 1 pod wpływem grawitacji włos z każdą klatką będzie stawał sie dłuższy i dłuższy, wszystko pomiędzy to stany pośrednie

No Stretch gdy jest zaznaczony to nawet podczas bardzo extremalnych ruchów czy sił włos będzie miał stałą długość

Start Frame określa od której klatki rozpocznie sie symulacja

Current Time aktualna klatka

Stiffness określa sztywność włosa, dla małych wartości włos jest bardzo elastyczny, dla większych mniej i bardziej dopasowuje sie do Rest Curves

Stiffness Scale
Stiffness Scale określa w jaki sposób od podstawy do wierzchołka włosa rozkłada sie sztywność (stiffness)
lewa strona wykresu symbolizuje podstawę a prawa to wierzchołek włosa, z reguły postawa jest bardziej sztywna od wierzchołka,
przycisk ze strzałką po prawej stronie otworzy to wykres w nowym oknie, który można rozciągnąć nawet na cały monitor, żeby mieć lepszą kontrole
aby dodać nowy punkt kontrolny wystarczy kliknąć w dowolnym miejscu wykresu, aby go usunąć trzeba kliknąć na mały kwadrat z iksem [x] pod punktem

Selected Positionto miejsce na wykresie, maksymalnie na lewo 0 a na prawo 1
Selected Value wartość dla wybranego punktu , te wartości to mnożnik dla Stiffness więc dla 1 pozostaje niezmienny a każdej innej odpowiedni mniejszy
Intepolation określa sposób przejścia wartości z jednego punktu do drugiego, dla każdego punktu można ustalić inne Intepolation
None skokowe przejście, tworzy schodki
Linear tworzy proste linie między punktami
Smooth tworzy bardziej gładkie przejście
Spline daje najgładsze przejście


Forces
Forces określa jakie siły i jak działają na włosy
Drag symuluje opór powierza małe wartości pomagają ustabilizować symulacje gdy np. włos nie może sie zdecydować czy bardziej zbliżyć sie do rest
curve czy poddać sie grawitacji i ciągle się rusza ;), dla 1 włosy zachowują sie jakby były pod wodą

Motion Drag osłabia ruch włosów gdy rusza sie powierzchnia na której się znajdują

Damp "wygasza" ruch włosa, pomaga ustabilizować symulacje i zmniejszyć dynamikę ruchu włosów

Friction symuluje tarcie przy kontakcie z jakimś obiektem

Mass symuluje wagę włosa, ma to znaczenie tylko wtedy gdy do sceny zostanie dodana jakaś siła (Fields) uwzględniająca masę

Gravity grawitacja

Dynamics Weight mnożnik który wpływa na działanie sił Fields na włos

Start Curve Attract określa jak bardzo krzywa curent będzie starać sie dopasować do krzywej początkowej(Start) przydaje się gdy chcemy mieć bardzo sztywne włosy

Attraction Damp osłabia działanie Start Curve Attract zmniejszając szybkość z jaką krzywa Curent dopasowuje sie do krzywej Start



Collisions
Collisions odpowiada za kontrole sposobu w jaki włosy reagują na kolizje z innymi obiektami

Collide włącza kolizje z obiektami

Collide Over Sample określa jakość kolizji, ilość przeliczeń na klatkę, większe wartości zapobiegają wnikaniu włosów w powierzchnie

Collide Width Offset zwiększa lub zmniejsz grubość krzywej która bierze udział w kolizji najlepiej to widać gdy włączy sie Draw Colide

Self Collide gdy jest włączony włosy będą kolidować ze sobą nawzajem

Repulsion określa jak bardzo kolidujące ze sobą włosy będą sie od siebie odbijać

Static Cling określa jak bardzo włosy trzymają sie razem ;)

Num Collide Neighbors określa liczbę włosów z którymi może kolidować pojedynczy włos


Collide Ground tworzy nieskończenie wielką płaszczyznę z którą kolidują włosy, liczy sie znacznie szybciej niż geometryczna podłoga:)

Ground Height określa na jakiej wysokości jest nieskończenie wielką płaszczyzna ziemi


Draw Collide Width rysuje kółeczka ;P okręgi wokół krzywych reprezentujące grubość włosów biorących udział w kolizji

Width Draw Skip określa ile segmentów jest pomijanych przy rysowaniu okręgów dla 0 na każdym segmencie jest okrąg, przy 1 na co drugim itd.


Turbulence
kontroluje turbulencje czyli taki trochę chaotyczny osoby ruch, jakby animowany noise lub fractal, w każdym razie coś takiego ;)
Intensity określa w jakim stopniu turbulencja wpływa na włosy

Frequency małe wartości tworzą większe obszary deformowane w ten sam sposób, większe liczby tworzą bardziej chaotyczny ruch
można to porównać do mapy noise przy zbliżeniu(małe wartości) widać 3-4 wielkie plamy z których każda wpływa inaczej na włosy
gdy sie oddalimy (duże wartości) pojawia sie więcej plamek i włosy obok siebie mogą zachowywać sie zupełnie inaczej
małe wartości Frequency i Intensity świetnie nadają sie to symulacji wiatru buszującego wśród trawy ;)

Speed tępo w jakim zmienia sie turbulencja w jednostce czasu



Interactiv Playback
Bardzo fajną opcją jest interaktywny playback pozwala on przemieszczać obracać i skalować obiekty podczas trwania symulacji!
aby go włączyć trzeba w Dynamics manu set(lewy górny róg) wybierć Solvers-> Interactiv Playback
najlepiej zrobić sobie jego skrót na shelfie naciskając [SHIFT]+[CTRL] i klikając Solvers-> Interactiv Playback
pozwala to szybko przetestować jak dany parametr dynamiki działa na włosy
potrafię godzinami sie tak bawić kępką włosów, cząsteczkami lub kawałkiem ubrania :)chyba nigdy mi się to nie znudzi ;)



Obiekty kolidujące z włosami
Aby dodać obiekt geometryczny tak aby włosy z nim kolidował należ zaznaczyć ten obiekt oraz Hair System a natępnie wybrać Hair-> Make Colide
Ta operacja utworzy Geo Connector Node Bogu dzięki są tam tylko 4 opcje ;)



Tessellation Factor określa ilość polygonów które biorą udział w symulacji nawet jeśli sam obiekt ma ich mniej :) lub jest zbudowany z powierzchni NURBS
innymi słowy tworzy siatkę która bierze udział w kolizji a Tessellation Factor określa ilość ścianek tej siatki
gdy włosy przechodzą przez obiekt należy zwiększyć wartość tego atrybutu aby symulacja była dokładniejsza
Resilience elstyczność, sprężystość powierzchni podczas kolizji?
Friction tarcie jakie będzie miała powierzchnia podczas kolizji
Offset nie wiem co to :( ciągle jest wygaszony da sie zmienić jego wartość w Channel Boxie ale efektów nie widać,
może to odległość od powierzchni geometrii do powierzchni kolidującej nie wiem ?!?

Menu Hair oferuje utworzenie 2 obiektów kolidujących kuli i sześcianu które dużo lepiej spisują sie w kolizji z włosami niż geometria
czasem można nawet z tych dwóch okleić obiekt który ma kolidować z włosami i może to nawet działać szybciej niż zwiększając szczegółowość w Geo Connectorze
aby je utworzyć należy zaznaczyć hair system lub tylko pojedynczy włos i wtedy tylko on będzie kolidował
i wybrać Hair-> Create Constraint i na dole wybrać Colide Sphere lub Colide Cube

Brak komentarzy:

Prześlij komentarz