Jakie są popularne techniki animacji postaci w grach hack & slash opartych na kafelkach?


10

Zastanawiam się, jakie techniki animacji są używane do animacji stworzeń i postaci w nowoczesnych grach opartych na kafelkach typu hack & slash ? Klatki kluczowe dla różnych akcji mogą być jedną z opcji. Ramy szkieletowe mogą być czymś innym. A co z fizyką? Czy też używają całkowicie hybrydowego systemu odwrotnej kinematyki obsługiwanej przez szkielet, fizykę i zmieszanej z interpolowaną klatką kluczową w celu uzyskania bardziej realistycznych animacji? Jeśli tak, to w jaki sposób i z jakich powodów? Mogę wymyślić wiele różnych rozwiązań poniższych problemów, ale zastanawiam się, co zostało wykorzystane i które najlepiej pasuje do takich problemów, jak:

  1. Chodzenie lub poruszanie się po nierównym terenie
  2. Walka z interakcją, fizyka walki i kolizje
  3. Mocowanie sztywnych przedmiotów do postaci i jej iteracji w świecie fizyki
  4. Miękka dynamika ciała, taka jak włosy, roślinność, ubrania i tkaniny zgodnie z animacjami i iteracjami.

Odpowiedzi:


6

Chociaż może się to wydawać 3D, gry typu „hack and slash” (takie jak Diablo) są naprawdę grami 2D. Często komponenty (duszki) są tworzone w narzędziu do modelowania 3D, ale tylko rendery 2D duszek są używane w rzeczywistej grze. W tego typu grach chodzi raczej o interakcje danych (mapa, gracz, skarby i potwory) niż o reprezentację wizualną.

Gry 2D zwykle nie używają animacji dynamicznej (szkielety i deformacje). Zamiast tego animacje są często tworzone w pakiecie 3D i zapisywane jako biblioteka obrazów. Następnie duszek ma tabelę przeglądową obrazów (przechowywaną jako pojedynczy, masywny arkusz duszka lub jako seria pojedynczych obrazów). Podczas fazy animacji duszka określa, który obraz ma zostać wyświetlony na podstawie aktualnego stanu duszka. Na przykład mam animację krowy (http://www.aharrisbooks.net/pythonGame/ch08/cow.py), która idzie w ośmiu kierunkach. Każdy kierunek jest animacją dziesięciu klatek.

(więcej przykładów w Pythonie na http://wwww.aharrisbooks.net/pythonGame )

Przykładowy program sprawdza kierunek i ramkę, a następnie wyświetla odpowiedni obraz. Mój przykład jest napisany w języku Python, ale język nie jest ważny; pomysł pozostaje ten sam.

Aspekty wizualne przebywania w różnych stanach (walka, ranny itp.) Można rozwiązać po prostu dodając więcej animacji do stosu.

Jednak trudniejsze aspekty tych rzeczy to aspekty danych. Na przykład, w jaki sposób zarządzany jest teren. Prawdopodobnie skorzystałbym z odmiany algorytmu A *, aby wybrać ścieżkę pomiędzy miejscem, w którym znajduje się duszek, a miejscem, do którego chce się udać, i dodałem trochę ciężaru do każdego węzła, aby zobrazować trudność tego terenu. (drogi byłyby bardzo lekkie, góry i oceany byłyby bardzo „ciężkie”)

Prawdopodobnie nie martwiłbym się dynamiką miękkiego ciała w silniku 2D. Można to dodać później, ale nie jest to klucz do funkcjonowania gry.

Z pewnością możesz zbudować „hack and slash” w 3D. Jednak dodatkowe wyzwania związane z modelowaniem 3D utrudniają skoncentrowanie się na mechanice rozgrywki, która często przyciąga graczy do tego rodzaju gier.

Powodzenia....


Po pierwsze, masz rację co do dynamiki gry i szczegółów, które mają znaczenie w grach hack i slash. I w przypadku Diablo to prawda. Wiem, że koncepcja duszka jest taka sama dla wielu gier H&S, FRP i MMORPG, takich jak Ultima Online. Ale zastanawiałem się nad ruchami w stylu Warcraft. Jeśli powiększysz wystarczająco, aby zobaczyć stopy stworów, zobaczysz, że mogą być nachylone kafelki, a podczas gdy jedna noga stwora znajduje się na wyższym terenie, druga może znajdować się na niższym terenie i nie powodować kolizji. Być może hack & slash nie jest właściwym słowem na moje pytanie.
Gorky

Słyszałem, że istnieje narzędzie / metoda do pobierania informacji o siatce / obiekcie z plików gry WoW. Zastanawiasz się, czy to może rzucić jakieś światło?
Kara Marfia
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.