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
Za pomocą narzędzia Bones 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ć za pomocą Bone Tool. 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
Zanim stworzymy pierwszy łańcuch IK przygotujmy sobie dwa kontrolery jeden Knee_Aim_L i drugi CTR_Foot_L zrobiony ze standardowego 'rectangle' typu spline. Teraz zaznaczamy kość Ankle_L i wybieramy z menu opcje łańcucha IK typu Limb 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 parametrowi 'Swivel Angle' znajdującemu się w panelu 'Motion' zakładka 'IK Solver Properties' lub też wskazanie obiektu w tejże zakładce 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
Tworzymy i nazywamy kolejne dwa łańcuchy IK tym razem typu HI (History Independerd). 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
Naszymi punktami odniesienia będą obiekty 'Dummy' do których będziemy przypisywali odpowiednie kontrolery IK by uzyskać odpowiednią dźwignie.
Z menu Helpers wybieramy 'Dummy' tworzymy niewielki kształt podpisujemy go odpowiednio do przeznaczenia a następnie dzięki narzędziu Align lub magnes ustawiamy w pozycji odpowiedniego kontrolera IK (nazwa dummy == miejsce ustawienia):
- Heel_Stand_L == IK_Ankle_L
- Ankle_Up_L == IK_Ball_L
- Toe_Wiggle_L == IK_Ball_L
- Toe_Stand_L == IK_Toe_L
Nazwy sugerują już przeznaczenie naszych obiektów, wiec w następnym kroku bedziemy musieli tak ustawić hierarchie naszych obiektów i kontrolerów IK by obracając Heel_Stand_L obracać "na pięcie" całą stopę, obracając Ankle_Up_L podnosić kostkę itd.
IK Dummy Hierarchy
Zaczniemy od końca naszej hierarchii, Toe_Wiggle_L jak nazwa mówi będzie poruszał naszymi palcami (jeżeli chcemy mieć kontrolę nad każdym palcem stopy oddzielnie musimy skopiować kość Toe, i dla każdej kopi zrobić IK i Dummy ) wiec musimy sparentować z nim IK_Toe_L. Teraz IK_Toe_L jako dziecko naszego dummy będzie obracało się względem jego środka i w ten sposób uzyskamy poruszanie palcami. Ponieważ obiekty są blisko siebie możemy skorzystać z outlinera 'H' i tam wskazywać obiekty a nie w widoku 3D. Ok teraz reszta kontrolerów, zaznaczamy IK_Ankle_L wybieramy link i wskazujemy Ankle_Up_L, następnie w outlinerze 'H' z shift zaznaczamy Ankle_Up_L, Toe_Wiggle_L i IK_Ball_L teraz ok, link ponownie 'H' i wskazujemy Toe_Stand_L. Została nam pozycja Heel_Stand_L wiec wybieramy z listy 'H', Toe_Stand_L (które do tej pory stało się parentem dla pozostałych obiektów kontrolnych) i linkujemy je do Heel_Stand_L. (Ilustracja5)
Leg Control
Aby móc połączyć wszystkie kontrolery z jednym musimy najpierw i jemu ustawić odpowiedni punk odniesienia. Wybieramy CTR_Foot_L przechodzimy do zakładki Hierarhy i tam włączamy 'Affect Pivot Only' co pozwoli nam na przeniesienie punktu odniesienia naszego obiektu, wybieramy narzędzie magnes (PPM) ustawiamy Pivot włączamy magnes i przesuwamy pivot kontrolera w miejsce IK_Ankle_L. Wyłączamy 'Affect Pivot Only' ustawiamy pozycje "zero" dla naszego kontrolera 'alt+PPM' następnie otwieramy listę 'H' wybieramy Heel_Stand_L teraz linkuj i ponownie z listy 'H' CTR_Foot_L. Poruszając naszym kontrolerem możemy zauważyć że poszczególne kośći stopy przekręcają się aby to zniwelować zaznaczamy IK_Ball_L i w panelu Motion zakładka 'IK Solver Properties' zmieniamy 'Parent Space' z 'Start Join' na 'IK Goal' podobnie robimy z IK_Toe_L (Ilustracja6)
Foot Stand Control
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 suwaka. Manipulatory typu 'Sliders' możemy znaleźć w panelu 'Helpers'(Ilustracja7). Gdy stworzymy nasz manipulator i ustawimy jego zakres od -90 do +90 możemy przejść do powiązania jego parametrów z animacje poszczególnych kontrolerów stopy.
Otwieramy 'Animation>ReactionManager' i w menadżerze reakcji klikamy 'Add Master' i klikamy na naszym suwaku i gdy pojawi sie okno dialogowe wybieramy w nim opcje 'value' czyli wartość. Następnie zaznaczamy cztery obiekty Dummy i w menadżerze wybieramy opcje 'Add Selected' a następnie z pop-up menu wybieramy Transformation>Rotation>Rotation X co spowoduje dodanie do naszego kontrolera czterech obiektów kontrolowanych w osi X. Zaznaczając jedynie te kontrolery które chcemy manipulować suwakiem czyli Heel_Stand, Ankle_Up, Toe_Stand klikamy trzy razy na strzałkę 'Create State' co spowoduje stworzenie trzech różnych wydarzeń kontrolowanych suwakiem. Każde wydarzenie rozpoczyna się wartością 'State'. W State001 które powstało automatycznie możemy usunąć wpis Toe_Wiggle_L klikając na ikonę 'X' w menu.
State001 będzie naszym stanem wyjściowym wiec tu nic nie zmieniamy, State002 będzie pozycją w której stopa opiera sie na pięcie, wiec zmieniamy wartość State na -90 a następnie wartość Heel_Stand_L na -70. Oznacza to że gdy suwak będzie osiągał wartość -90 to Heel_Stand_L będzie obracał się o -70 stopni w osi X. State003 będzie odpowiadał za podniesienie kostki wiec zmieniamy wartość State003 na 45 a wartość Ankle_Up_L na 70. Ostatnim stanem jest postawienie stopy na palcach wiec w State004 ustawiamy wartość 90 a poniżej w Toe_Stand_L 70. Poniżej naszej listy wydarzeń stworzyły się krzywe animacji poszczególnych faz ruchu które możemy edytować by nadać płynniejsze przejście jednej fazy w drugą. Teraz włączając opcje 'Manipulators' możemy zmieniać wartości suwaka na ekranie zamiast w panelu właściwości naszego manipulatora (Ilustracja7). Oczywiście zamiast suwaka na ekranie możemy przypisać taki manipulator do naszego kontrolera stopy ale tą opcje zastosujemy przy palcach ręki.