select the 3D program

 

 

Leg Foot

 

Nasza noga będzie mieszaniną kilku pomysłów i kilku rożnych rozwiązań (Paul Neale, Pat Imrie ) z którymi miałem okazje się zetknąć w przeszłości. Wybrałem to rozwiązanie bo jest banalnie proste w działaniu i opiera się o najstarszą mądrość świata : "Dajcie mi punkt oparcia, a poruszę Ziemię." Archimedesa . Zasadę tę wykorzystamy robiąc stopę a raczej rigg do niej .

 

 

Bones

 

 

Ilustracja1 :  Leg Bone Setup (Click for HD)

 

Za pomocą narzędzia Joint tworzymy kości dla naszej nogi. Ponieważ tworzymy nasz szkielet elementami musimy zadbać by te elementy mogły funkcjonować samodzielnie dlatego zaczynamy tworzyć układ wyżej i dopiero druga kość układu powinna zaczynać się w biodrze, oczywiście możemy to później poprawić. Ustawiamy nasze kości również w widoku z przodu tak by były one w odpowiedniej pozycji dla naszej siatki (Ilustracja1):

  • Leg_L
  • Hip_L
  • Knee_L
  • Ankle_L
  • Ball_L
  • Toe_L

 

 

Leg IK

 

 

Ilustracja2 :  Leg IK (Click for HD)

 

Zanim stworzymy pierwszy łańcuch IK przygotujmy sobie dwa kontrolery jeden Knee_Aim_L i drugi CTR_Foot_L zrobiony krzywej beziera. Teraz wybieramy z menu opcje łańcucha IK typu RP zaznaczamy kość Ankle_L i wskazujemy początek łańcucha na kość Hip_L i automatycznie stworzy nam się łańcuch IK. Aby kolano wyginało się w odpowiednim kierunku musimy je ustawić albo dzięki parametrom znajdującemu się w panelu 'Attribute Editor lub też wskazanie obiektu jako 'Pole Vector' w menu 'Constraints' który będzie determinował kierunek zginania bez względu na orientacje początku czy końca układu IK.
Po wykonaniu teko prostego kroku nasza noga już jest skończona, poruszając kontrolerem IK_Ankle_L cały układ powinien poruszać się jak na ilustracji2.

 

 

Foot IK

 

 

Ilustracja3 :  Foot IK (Click for HD)

 

Tworzymy i nazywamy kolejne dwa łańcuchy IK tym razem typu SC. Pierwszy zaczyna sie od kości Ball_L i kończy na Ankle_L, nazywamy go IK_Ball_L. Drugi zaczyna się od kości Toe_L i kończy się na Ball_L, nazywamy go IK_Toe_L.(Ilustracja3)
Te praktycznie zerowe łańcuchy IK obejmujące pojedyncze kości są nam potrzebne jako nasze "Ziemie" które będziemy poruszali za pomocą odpowiednich punktów oparcia.

 

 

Foot IK's Pivot Point Hierarchy

 

 

Ilustracja4 :  Foot IK's Pivot Point (Click for HD)

 

 

Ilustracja5 :  Foot IK (Click for HD)

 

Naszymi punktami odniesienia mogą być obiekty typu 'Locator' do których będziemy przypisywali odpowiednie kontrolery IK by uzyskać dźwignie lecz szybszym sposobem jest zamkniecie każdego kontrolera IK w grupie. Grupy w programie Maya to zerowe obiekty posiadające swój własny Pivot Piont, i możemy je stworzyć zaznaczając odpowiedni kontroler IK i naciskając 'ctr+G' szybko i skutecznie. Potrzebujemy cztery grupy odpowiadające czterem pozycjom stopy.

Pierwszą grupe tworzymy zaznaczając IK_Toe i IK_Ball teraz 'ctr+G' i nazywamy naszą grupę Toe_Wiggle_L. Następnie włączamy magnes i przycisk 'Ins' który odpowiada za manipulacje Pivot Point (PP) wybranego obiektu i przenosimy PP naszej grupy w miejsce IK_Ball.

Druga grupa zaznaczamy IK_Ankle 'ctr+G' i podpisujemy grupę jako Ankle_up_L, teraz 'ins'(jezeli go wyłączylismy) i przesuwamy PP również do IK_Ball.

Trzecia grupa powstanie poprzez zaznaczenie grupy Toe_wiggle i Ankle_Up teraz 'ctr+G' i podpisujemy Toe_Stand_L. PP tej grupy przenosimy do IK_Toe.

Czwarta grupa jest stworzona z Toe_Stand_L i podpisana Heel_Stand_L. Jak sama nazwa wskazuje PP tej grupy przenosimy w miejsce IK_Ankle. Gotowy układ powinien zachowywać się jak na ilustracji 5.

 

 

Leg Control

 

 

Ilustracja6 :  Leg Custom Control (Click for HD)

 

 

Ilustracja7 :  Leg Control (Click for HD)

 

Aby móc połączyć wszystkie kontrolery z jednym musimy najpierw i jemu ustawić odpowiedni punk odniesienia. Tworzymy prosty kontroler z krzywej, ustawiamy go w centrum świata a następnie grupujemy 'ctr+G'. Krzywą podpisujemy CTR_Foot_L a grupę G_Foot_L, do grupy przypisujemy Constrain Point z kosći Ankle ponieważ chcemy aby właśnie w kostce był PP naszego kontrolera. Teraz zaznaczamy krzywą przechodzimy do trybu edycji i nadjemy jej odpowiedni kształt i pozycje. Jeżeli wszystko wykonaliśmy dobrze poruszając naszą stopą a następnie wybierając opcje 'Reset Transformation' krzywa CTR_Foot_L powinna powracać na swoją poprawną pozycje.(Ilustracja6)

Gdy jesteśmy pewni że kontroler jest poprawnie wykonany możemy do niego przypisać nasze kontrolery odpowiadające za pozycje stopy. Możemy albo przypisać Heel_Stand_L do CTR_FootL jako dziecko lub też jak na ilustracji7 poprzez Constraints Point i Orient.

Jeżeli wybierzemy opcje Parent/Children to nie będziemy mogli używać opcji 'Reset Transformation' bo ona oddziałuje na wszystkie obiekty w hierarchii co spowoduje zresetowanie pozycji wszystkich obiektów w naszym układzie ergo skasuje wszystkie nasze ustawienia IK i ich grup. Ponieważ kontrolery stopy będą sterowane parametrem nie możemy bezpośrednio do Heel_Stand_L przypisać żadnego Constraina, wiec tworzymy z niego kolejną grupę 'Reset_Free' jej PP również ustawiamy w IK_Ankle i do niej przypisujemy Constraints z CTR_Foot_L. Dzięki temu zabiegowi kontrolery stopy poruszają się za głównym kontrolerem nie mając żadnych ograniczeń i możemy resetować pozycje CTR_Foot_L

 

 

Foot Stand Control

 

 

Ilustracja8 :  Foot Stand Control (Click for HD)

 

Stopa wykonuje ruchy jak każdy inny staw w ograniczonym zakresie więc zamiast pozostawiać animatorowi cztery rożne kontrolery do animowania z góry wiadomych sekwencji ruchu możemy to również zriggować. Może to dziwnie brzmi ale tak, zrobimy rigg do naszych kontrolerów stopy a mianowicie przypiszemy ich zachowanie do jednego kontrolera w tym przypadku dodanym atrybutem do panelu transformacji w panelu 'Channel Box Layer Editor'.

Klikamy edit na panelu 'Channel Box Layer Editor' znajdujemy 'Add Attribute' i ponownie klikamy. W oknie nowego atrybutu wpisujemy nazwę 'Foot_Roll' oraz jego zakres -90/+90 i wartość domyślną 0 po wpisaniu wszystkiego klikamy ok. Teraz z menu kontekstowego 'Animate' wybieramy 'Set Driven Key>Set..'. Opcja ta pozwala na kontrolowanie krzywej animacji jednego obiektu przez wartosći innego. Po kliknięciu 'Set...' otworzy nam sie menu z dwoma oknami, górne to 'Driver' czyli nasz kontroler a dolne to 'Driven' czyli obiekt kontrolowany. Ponieważ my bedzemy wszystkie kontrolery sterować nowo wpisanym atrybutem zaznaczamy CTR_Foot_L i klikamy 'Load Driver' w bocznym oknie drivera wybieramy kanał czyli nasz atrybut 'Foot_Roll'. Do dolnego okna będziemy wczytywać 'Load Driven' po kolei trzy kontrolery, Heel_Stand, Ankle_up i Toe_Stand i zaznaczać kanał Rotation X bo to własnie tan parametr chcemy kontrolować (jedynie w takim ustawieniu orientacji kości, jeżeli orientacja Waszych kości i kontrolerów różni się musicie zobaczyć która oś jest odpowiedzialna za rotacje).
Ustawianie kluczy odbywa się w następujący sposób, najpierw ustawiamy wartość 'Foot_Roll' a następnie wczytujemy obiekt kontrolowany i zaznaczamy kanał 'Rotation X' danego obiektu, wpisujemy w 'Channel Box Layer Editor' w kanale Rotation X wartość którą chcemy skluczować i klikamy 'Key'. Ustawienia przypisujemy w czterech wartościach a program sam stworzy krzywe animacji które później będziemy mogli edytować.

  • Foot_Roll == wartość=0
  • Heel_Stand == RotX=0
  • Toe_Stand == RotX=0
  • Ankle_Up == RotX=0
  • Foot_Roll == wartość=-90
  • Heel_Stand == RotX=-70
  • Toe_Stand == RotX=0
  • Ankle_Up == RotX=0
  • Foot_Roll == wartość=45
  • Heel_Stand == RotX=0
  • Toe_Stand == RotX=0
  • Ankle_Up == RotX=70
  • Foot_Roll == wartość=90
  • Heel_Stand == RotX=0
  • Toe_Stand == RotX=70
  • Ankle_Up == RotX=0

 

Ilustracja9 :  Foot Rigg (Click for HD)

 

Poszczególne wpisy oznaczają wartości RotacjiX danego obiektu przy danej wartośći kontrolera Foot_Roll które musimy za kluczować. Dzięki temu zmieniając wartość naszego atrybutu kontrolery stopy będą obracały się zależnie od jego wartości.(Ilustracja8)

 

Print This Post