Arm Hand Fingers
Poza palcami które zobaczyłem w "ManCandyFaq" rigg całej ręki jest standardowym rigiem składającym sie z trzech części. Kości od obojczyka do nadgarstka to łańcuch IK. Dłoń przyczepiona Constraints odpowiadającym za położenie by animator mógł nadawać dłoni niezależną rotacje od całej reki. Palce tu zriggowane poprzez połączenie FK i IK tak by jednym kontrolerem sterować całym palcem.
Arm Bones
Za pomocą narzędzia Bones tworzymy kości dla naszej ręki. Ponieważ będziemy rigować rękę etapami również nie będziemy tworzyć od razu wszystkich kości. Na początek tworzymy pierwszy zestaw kości który połączymy łańcuchem IK : (Ilustracja1):
- Arm_L
- Shoulder_L
- Elbow_L
- Wrist_L
Arm IK
Zanim stworzymy pierwszy łańcuch IK przygotujmy sobie dwa kontrolery jeden Elbow_CTR_L i drugi Wrist_CTR_L zrobione tak samo jak opisany kontroler w tutorialu nogi. Teraz zaznaczamy kość Wrist_L i wybieramy z menu 'Amination > IK Solvers' połączenie HiSolver. Aby nasz łokieć wyginał się w odpowiednim kierunku musimy ustawić Pole Target czyli obiekt który będzie determinował kierunek zginania bez względu na orientacje początku czy końca układu IK, znajdziemy tą opcje w panelu 'Motion' zakładka 'IK Solver Properties'. Pozostaje nam przypisane IK jako dziecka naszemu kontrolerowi i wyzerowanie pozycji naszych kontrolerów 'alt+PPM'.
Po wykonaniu teko prostego kroku nasza reka już jest skończona, poruszając kontrolerem Wrist_CTR_L cały układ powinien poruszać się jak na ilustracji2.
Finger Bones
Tworzymy dwa łańcuchy kości jeden będzie odpowiadał za FK, a drugi za IK. Gdy połączymy te dwa kontrolery razem otrzymamy rigg dla naszego palca. Łańcuch FK składa sie z trzech kości Finger1_FK_Base, Finger1_FK_Bend i Finger1_FK_END, łańcuch IK który będzie później przypisany do naszej siatki składa sie z poszczególnych części palca u nas trzy kośći Finger1_IK_A, Finger1_IK_B, Finger1_IK_C i Finger1_IK_END. Staramy sie ustawić przy naszym łańcuchu IK niewielki łuk byśmy mogli łatwo zdeterminować kąt dla zgięcia palca.
Finger FK IK
W trybie Bone Edit Mode za pomocą narzędzia Align ustawiamy kość Finger1_IK_A w pozycji Finger1_FK_Bend a kość Finger1_IK_END w pozycji Finger1_FK_END następnie ponownie ustawiamy zarys naszego palca. Teraz zaznaczamy Finger1_IK_END i tworzymy łancuch IK HiSolver który kończy sie w kość Finger1_IK_A, następnie tejże kości przypisujemy Constrain Position do kości Finger1_FK_Bend. Na koniec przypisujemy nasz kontroler IK jako dziecko do Finger1_FK_END Aby sprawdzić poprawność połączeń wyłączamy Bone Edit Mode i obracając i skalując kość Finger1_FK_Bend powinniśmy kontrolować ruchy i zginanie naszego palca.(Ilustracja4) W ten sam sposób wykonujemy pozostałe palce naszej dłoni.
Hand
W trybie Bone Edit Mode tworzymy kość inazywamy ją Hand_L. Nową kość ustawiamy i orientujemy do kości nadgarstka. Teraz wybieramy z Bone Tool 'Connect Bones' i łączymy wszystkie Finger_Base z naszą kością Hand_L. Teraz do Hand_L przypisujemy dwa ograniczenia pierwsze pozycji do Wrist_L drugie orientacji do Wrist_CTR_L. Gotowa dłoń powinna zachowywać sie jak na ilustracji5.
Finger Control
Jeżeli chodzi o kontrolery palców to w programie 3d max nie posiadamy Constraint Scale oznacza to ze musimy jakoś inaczej zdefiniować nasz rigg. Jak pisałem Ograniczenia mogą być rożnego rodzaju i to że nie posiadamy przycisku wcale nie oznacza ze nie możemy tego zrobić. Tutaj wykorzystamy, zamiast manipulatora na ekranie jak w przypadku stopy, dodatkowe atrybuty przypisywane do dowolnych obiektów. Przypiszmy modyfikator Attributs Holder do naszego kontrolera nadgarstka a następnie korzystając z Paramerter Editora dodajmy 4 suwaki. Teraz możemy za pomocą reaktora połączyć wartości suwaka z wartościami skalowania naszej kości Bend. Jako master wybieramy jeden z suwaków a następnie przypisujemy do niego odpowiedniego slave ilustracja 6. Zostanie stworzone wydarzenie gdy nasz suwak jest w wartości 0 to skala naszej kości wynosi 1;1;1; teraz ustawiamy suwak na wartość 100, skalujemy naszą kość Bend i tworzymy 'Create State' kolejne zdarzenie. Jeżeli skalowanie się nie powiodło lub efekt jest za mały zawsze możemy skorzystać z opcji 'Edit Mode' i wpisać wartości nawet bezpośrednio w tabeli wartość suwaka 100 skala Bend 0,3; 0,3; 0,3.
Pozostaje nam jedynie zrobienie kontrolera odpowiedzialnego za rotacje palca, jest to zwykły obiekt Spline ustawiony w pozycji kości Bend każdego palca z od którego kość Bend ma przypisany Constraint Orient ilustracja 7. Kontrolery palców najlepiej sparentować z kością Hand ponieważ Wrist_CTR ma nieograniczone ruchy i może znajdować się poza układem.