select the 3D program

 

 

Spine a'la Paul Neale

 

Postanowiłem przygotować ten sam model na wszystkie dostępne w uczelni programy i w tym celu również wykorzystać różne wpływy a nie tylko trzymać się w całość jednego oprogramowania. Wynikiem tego "składaka" jest nasz rigg dla początkujących wykorzystujący trochę pomysłów z programów Maya, 3ds max i Blender. Kręgosłup podpatrzyłem ok 2004 roku w video tutorialu Paula Neale i wydał mi się on wtedy banalnie prosty i bardzo funkcjonalny. Każdy kto naprawdę myśli o riggowaniu powinien zapoznać się z tym tytułem bez względu na oprogramowanie bo jak pokazałem można tą wiedzę wykorzystać na prawie każdym programie do 3D. Zainteresowanych zapraszam na: CG ACADEMY

 

Bones

 

Program Blender w przeciwieństwie do innych programów nie tworzy czegoś takiego jak Bone END dlatego musimy w miejscu takiego zakończenia stworzyć fizycznie kość. Wybieramy Add>Armature>Single Bone z menu kontekstowego czy tez skrótem 'shift+A' i tworzymy kość. Kość jak każdy element posiada tryb edycji 'Tab' w którym możemy extrudować 'E' naszą kość klikając prawym przyciskiem myszy (PPM) na zakończeniu. Extrudujemy nasze kości do uzyskania odpowiedniego kształtu, pamiętając ze chcemy uzyskać trzy osobne układy i dlatego kość Neck i Waist oddzielamy 'alt+P' od hierarchii (Ilustracja1)

 

Ilustracja1 :  Spine Bone Setup (Click for HD)

 

  • Waist
  • Groin(END)
  • -----
  • Spine_base
  • Spine_mid
  • Chest
  • Chest(END)
  • -----
  • Neck
  • Throat
  • Head

 

 

Align/Orient

 

 

Ilustracja2 :  Bone Orient (Click for HD)

 

Podczas tworzenia kości nie musimy dokładnie odwzorować ostatecznej ich pozycji ponieważ dzięki 'Edit Mode' możemy dokonać tego w każdej chwili. Poza poprawną pozycją naszych kości którą możemy ustawić korzystając z opcji magnesu, musimy również zadbać o to żeby wszystkie kości jednego łańcucha miały podobną orientację. Orientacje poszczególnych kości ustawiamy w panelu kości zaznaczonym na czerwono na ilustracji2. Program Blender automatycznie przypisuje oś 'Y' jako wskazującą kolejną kość układu i w przeciwieństwie do programu Maya gdzie manipulujemy trzema osiami tu musimy zadbać jedynie o poprawny obrót kości wkoło ośi Y. Manipulując obrotem od -180 do 180 ustawiamy wszystkie kości riggu tak by ich lokalne osie wskazywały ten sam kierunek. Proszę pamiętać od dziś że jeżeli chodzi o kości to 0 i -0 to nie to samo!!

 

 

Custom Controler

 

 

Ilustracja3 :  Custom Bone Shape

 

Większość grafików tworzących riggi używa specyficznych obiektów jako kontrolery, pozwala to później w pracy z riggiem na wyodrębnienie tylko tych elementów które może poruszać animator. Oczywiście jest to umowna sprawa bo równie dobrze można w pliku zrobić warstwy i wszystko to "DO NOT TUCH" przenosimy do jednej i grzecznie prosimy animatora by tam nie grzebał ;) ale wszystkie rozwiązania są uzależnione od przyjętej zasady w danym miejscu pracy. W programie Blender najlepszymi kontrolerami są kości bo mają one od razu przypisaną pozycje zerową czyli taką do której zawsze będziemy mogli powrócić. Sposobem by odróżnić te kości od kontrolerów jest przypisywanie do nich obiektów z siatki. Odbywa się to bardzo prosto wystarczy stworzyć obiekt a następnie w panelu kości w trybie 'Pose' wczytać ten obiekt(Ilustracja3)

 

 

Controls Setup

 

Poza kontrolerami które będą odpowiadały za sterowanie musimy stworzyć również pozycje wyjściowa dla naszej kości Spine_Base czyli Main_Constrain. Na Ilustracji4 jest ta największa kość by nie wprowadzać zamieszania z kontrolerami które kopiujemy z odpowiednich kości układu. Oczywiście kość kontrolna Spine_Base może też być jej kopią ale musi ona pozostać w tym samym miejscu wiec na ilustracji byłaby niewidoczna. Ponieważ kopiujemy kosći które posiadają hierarchie zaznaczamy je 'alt+P' i opcja 'Clear Parent'. Stworzone kontrolery ustawiamy w odpowiednich miejscach jak również nazywamy je odpowiednio na ilustracjach będą to(licząc od dołu):

 

Ilustracja4 :  Controls Setup (Click for HD)

 

  • CTR_Waist
  • CTR_Spine
  • CTR_Chest
  • CTR_Head
  • Main_Constrain






 

Ilustracja5 :  Controls Separation (Click for HD)

 

 

Ilustracja6 :  Constraint Setup2 (Click for HD)

 

Po stworzeniu naszych kontrolerów nie musimy ich orientować ponieważ są one kopią kości które już orientowaliśmy. W zależności od tego jaką metodą stworzyliśmy kontroler Main_Constrain musimy go ustawić tak by jego orientacje odpowiadała całemu układowi.

Na Ilustracja5 przedstawione jest skopiowanie całego układu kości 'Object Mode' i posiadając dwie kopie z jednej kasujemy w trybie 'Edit Mode' wszystkie kontrolery a w drugim wszystkie kości dzięki temu zabiegowi w późniejszym etapie będziemy mogli schować kości pozostawiając widoczne jedynie kontrolery. Program Blender posiada osobne warstwy do systemu kości ale tworzenie na nich kontrolerów wymaga zapoznania animatora z ich struktura i może to sprawiać problemy. Zaprezentowana metoda jest intuicyjna bo outliner w każdym programie wygląda podobnie wiec jest to bardziej uniwersalne rozwiązanie.

Zanim zaczniemy przypisywać Constraints do naszych kości musimy ustawić naszą kontrolną kość Spine_Main idealnie w pozycji Spine_Base jezeli nie zrobiliśmy jej jako kopia pozostawiona w miejscu a tak jak na ilustracji 5. W trybie edycji naszego układu kontrolerów 'Edit Mode' włączamy magnes i przeciągamy górny koniec S_M do górnego końca S_B i analogicznie z dolnym końcem teraz możemy przystąpić do przypisywania ograniczeń.

 

 

Constraints

 

Ograniczenia w Blenderze przypisuje sie jak kazdy inny modyfikator, wybieramy obiekt do którego chcemy go dodać a następnie w panelu ' Bone Constraints' wybieramy z listy dostępnych ten który chcemy przypisać. Po wyborze odpowiedniego ograniczenia musimy uzupełnić pola jaki obiekt i jakie właściwości będą ograniczały wybraną kość. Ponieważ ograniczamy kości innymi kośćmi po wyborze obiektu 'Controls' czyli układu kości, pokaże się kolejne okno w którym musimy wskazać konkretną kość.

 

Ilustracja7 :  Constraints (Click for HD)

 

 

Ilustracja8 :  FK Spine (Click for HD)

 

Po wyborze kości ustawiamy układy współrzędnych z których będą kopiowane wartości, my chcemy aby lokalne wartości kontrolerów odpowiadały lokalnym wartością kości.
Zaznaczamy kość Waist i przypisujemy Constrain Rotation, wybieramy obiekt Controls i kość CTR_Waist, teraz ustawiamy lokalne układy współrzędnych, suwak poniżej pozwala nam na ustawienie mocy ograniczenia 1=100% i taką wartość pozostawiamy.
Kolejna kość Spine_Base będzie miała dwa ograniczenia rotacji kontroler CTR_Spine i Main_Constrain których wartości ustawiamy po 50% (ilustracja7). Kość Spine_mid i Chest są ograniczone przez te same kontrolery CTR_Waist i CTR_Chest jedynie zmieniamy wartości ograniczenia które u mnie wynoszą 70% i 30% w pierwszej i 30%, 70% w drugiej. Neck oprócz ograniczenia rotacji posiada również constrain lokacji przypisany do kości END dzięki temu podczas poruszania kręgosłupem kark będzie podążał za jego ostatnią kością. Jako ograniczenia rotacji przypisujemy kość Chest i CTR_Chest po 50%. Do kośći Throat przypisujemy kość Neck i CTR_Head w moim przypadku również po 50%, ostatnia kość głowy jest w 100% przypisana do CTR_Head (Ilustracja7).
Gotowy rigg FK naszego kręgosłupa powinien zachowywać sie w podobny sposób jak na ilustracji 8. Powtórzę jeszcze raz nazewnictwo i wartości procentowe są jedynie przykładem. Nazewnictwo może być wymuszone poprzez stylistykę pracy w studio lub tez sposoby pracy, wartości natomiast siły ograniczeń powinny być ustawiane do charakterystyki postaci. W animacji którą można znaleźć w dziale Time Laps zastosowałem zamiast zwykłych ograniczeń , ograniczenia typu expresion dzięki temu mam nad postacią większą kontrolę. Zwykłe ograniczenia powodują przeskakiwanie kości gdy przekroczymy jednym z kontrolerów ujemną wartość dla drugiego. Zobrazować to można za pomocą kontrolerów CTR_Spine i CTR_Chest, oba te kontrolery oddziałują na jedną kość i do puki oba kontrolery mają podobne wartości X Y Z wszystko będzie działało. Jednak podczas animacji zdarzy się że jeden kontroler obrócimy 180 stopni wtedy jedna z jego osi zmieni wartość na -Z Y X i wtedy nasz kręgosłup się "złamie" przeskoczy z wartości ujemnej jakiegoś konta na dodatnią. W wypadku wyrażeń matematycznych nie jesteśmy ograniczeni zakresem -180 do 180 wiec nasz układ nigdy się nie "złamie"

 

Print This Post