close
head_open

W dzisiejszym artykule postaramy się stworzyć tzw. “blendshapes”. Są one niejednokrotnie potrzebne w trakcie tworzenia gier lub animacji. Najpierw jednak wytłumaczmy sobie, o co tu chodzi.

***  Artykuł dedykowany jest średnio zaawansowanym użytkownikom, którzy opanowali przynajmniej podstawy obsługi programu.

Podczas tworzenia animacji lub implementowania zachowań obiektów w trakcie tworzenia gry, potrzebujemy skorzystać z blendshapes. Przykładowo potrzebujemy, aby obiekt (mesh) w naszej grze lub animacji potrafił płynnie się zmieniać, lub przeistaczać w różne formy. Co zrobić, jeśli chcemy w prosty sposób wymusić mimikę lub posturę ciała u postaci?
Odpowiedzią są właśnie blendshapes, które bez problemu znajdziemy w opcjach programu Maya, czy Blender. 3ds Max wykorzystuje do tego celu modyfikator o nazwie Morpher, który jak sama nazwa wskazuje umożliwia nam morphing obiektów w oparciu o Shape Keys.

Jak to wygląda w praktyce? Przejdźmy do działania.

Blendshapes w 3ds Max

1) Przygotowanie wariantów

Pracę zacznijmy od stworzenia lub zaimportowania obiektu, który chcemy poddać morphingowi. Na potrzeby tutoriala wykorzystałem prosty model głowy dostępny w bibliotece zBrusha.

Gdy model znajdzie się na scenie, posłuży nam jako obiekt bazowy.
Teraz wykonać musimy przynajmniej jedną kopię modelu bazowego i ustawić ją w pobliżu.

Gdy już stworzymy niezbędne kopie, zabieramy się do edycji. W zależności, jaki chcemy uzyskać efekt, w taki sposób modyfikujemy skopiowane obiekty.
W tym przykładzie postanowiłem popracować nad ich mimiką.

Polecam szczególnie do elementów organicznych używać narzędzia Shift, które można znaleźć w górnym panelu edycji – zakładka Freeform. Shift Tool pozwala dokładnie i płynnie modyfikować siatkę obiektu, dlatego jest nieocenioną pomocą przy pracy.

2) Modyfikator Morpher

Po przygotowaniu odpowiednich wariantów naszego modelu musimy nałożyć modyfikator Morpher na obiekt bazowy.

  1. Dla obiektu bazowego wybieramy modyfikator Morpher.
  2. W opcjach modyfikatora, z zakładki Channel List wybieramy pierwszy wolny moduł -empty-.
  3. W opcjach modyfikatora, w zakładce Channel Parameters naciskamy przycisk Pick Object from Scene,
    następnie
    klikamy obiekt TYPE 1.
  4. Operację powtarzamy i w kolejnych slotach umieszczamy resztę obiektów.

Jeśli operacja przebiegła pomyślnie, sloty powinny się widocznie zapełnić.

W sytuacji, gdy po podpięciu którejś z kopii chcielibyśmy wprowadzić zmiany, możemy bez przeszkód modyfikować dany wariant.
Na koniec aktualizujemy zmiany przyciskiem Reload All Morph Targets

Teraz gdy podpięliśmy wszystkie maski do obiektu bazowego, możemy kontrolować powstałe modyfikacje.
W zakładce Channel List, każdy slot posiada suwak wartości od 0 do 100. Zmieniając te wartości, modyfikujemy obiekt bazowy w czasie rzeczywistym, a im więcej przypisanych wariantów mamy do dyspozycji, tym większe możliwości ich mieszania.

Posiadając tak przygotowane opcje morfingu, nic nie stoi na przeszkodzie, aby ustawić kluczowanie na osi czasu (auto Key) i przygotować animację. Teraz wystarczy przestawiać suwak na wybraną pozycję w czasie i modyfikować wartości dla każdego podpiętego wariantu.

Taki efekt udało się uzyskać:

Tak przygotowany model możemy wyeksportować jako plik FBX i zaimportować do zewnętrznego silnika np. Unity3D, który automatycznie zaimplementuje sloty modyfikatora jako blendshapes.
Powodzenia ; )

Tags : 3ds maxanimacjablendshapefreeformmorphingunity3D
Piotr Pęczkowski

The author Piotr Pęczkowski

3D Artist / CGI Specialist

Leave a Response