W jaki sposób animowane są postacie z gry? [Zamknięte]

10

Będę współpracować z przyjaciółmi przy naszym ostatnim roku. Nasza gra będzie FPS i muszę narysować kilka animacji do widoku FPS i innych wrogich postaci, które można łatwo zaprogramować, aby stworzyć dobrą grę.

Chciałbym wiedzieć, jak tworzone są ruchome postacie w grze? Jakie oprogramowanie i silniki są używane dla tych znaków?

Ahmed
źródło
Czy to duplikat? Jeśli tak, zagłosuję za zamknięciem, ale w innym przypadku prawdopodobnie dobrym pomysłem jest, aby ta strona odpowiedziała raz na to podstawowe pytanie.
jhocking
1
najpierw go szukałem, a potem zadałem to pytanie :-)
Ahmed
Masz na myśli postacie 2D lub 3D? Postacie, które mają szkielet lub są amorficznymi plamami? Szukasz niezależnych wyników lub integracji z silnikiem fizyki? To może być dobre pytanie, ale w tej chwili pełna odpowiedź wypełniłaby wiele książek.
Anko,

Odpowiedzi:

18

Postacie w grze są zwykle animowane przy użyciu techniki zwanej animacją szkieletową : wprowadź opis zdjęcia tutaj (Źródło obrazu: Valve Software )

Każdy model 3d ma niewidoczną strukturę kości (czerwone i turkusowe linie na powyższym obrazku). Każdy wielokąt modelu jest połączony z kością. Definiując sekwencję ruchu, definiuje się ją jako sekwencję obrotów kości wokół ich połączeń z innymi kościami. Kiedy kość się porusza, połączone z nią wielokąty poruszają się wraz z nią. Pozwala to zdefiniować sekwencje ruchu bez konieczności zmiany położenia każdego wielokąta. Gdy wiele postaci ma tę samą strukturę kości, mogą one również udostępniać te same animacje, więc nie musisz odtwarzać każdej animacji dla każdej postaci (chociaż możesz chcieć, aby niektóre animacje były różne dla postaci różnych płci, typów osobowości i poziomów sprawności fizycznej).

Większość oprogramowania do modelowania 3D obsługuje animację szkieletową i ma formaty eksportu, które są odczytywane przez powszechnie używane silniki 3d. Nie proś tutaj o rekomendacje produktów, ponieważ są one nie na temat.

Jednak pozwolenie artyście na tworzenie animacji od zera nie zawsze prowadzi do najlepszych rezultatów. Trudno odtworzyć z pamięci wszystkie subtelne niuanse ludzkiego języka ciała, więc wyniki często wyglądają na roboty i nienaturalne. Dlatego większe studia gier, które mają na to zasoby, wykorzystują proces o nazwie Motion Capturing .

Ludzcy aktorzy są zatrudniani do odgrywania działań bohaterów gry. Podczas występu aktorzy noszą specjalne kombinezony, do których mają dobrze widoczne ślady. Gdy są one rejestrowane przez kamerę wideo podczas uchwycenia, ruch tych znaków można odwzorować na kościach modeli postaci 3d. W ten sposób ruchy aktorów można następnie zastosować do dowolnego modelu 3d, który używa tej samej struktury kości. Ta metoda zwykle prowadzi do znacznie bardziej naturalnie wyglądających rezultatów, a gdy istnieje wiele animacji do stworzenia, może to również znacznie zaoszczędzić czas. wprowadź opis zdjęcia tutaj (Źródło obrazu: Toptear Games )

Jednak koszt sprzętu potrzebnego do rejestrowania ruchu prawdopodobnie znacznie przekroczy Twój budżet, więc będziesz musiał uciekać się do ręcznego definiowania animacji szkieletowych w programie do modelowania 3D.

Philipp
źródło
1
Dobra odpowiedź. Ale może można wspomnieć, że nie w rzeczywistości, niskie koszty technik Przechwytywanie ruchu, wykorzystujące kamery komputera (kamery internetowe, Kinects lub PS oczy). Istnieją również usługi, które sprzedają animacje wielokrotnego użytku do typowych konfiguracji siatki szkieletowej.
TC
1
@TheodorosChatzigiannakis Nie mam zbyt dużej wiedzy w żadnej dziedzinie. Może chciałbyś rozwinąć własną odpowiedź?
Philipp
„Pozwolenie artyście na tworzenie animacji od zera nie zawsze prowadzi do najlepszych rezultatów”. Twierdzenie, że przechwytywanie ruchu jest z natury lepsze niż animacja manualna, przypomina twierdzenie, że fotografia jest z natury lepsza niż malowanie na płótnie. Zarówno animacja manualna, jak i mo-cap to różne techniki artystyczne stosowane do różnych celów, a kompetentni artyści w każdej technice zapewnią doskonałe wyniki. Jeśli twoi artyści ruchu nie potrafią zrobić dobrej animacji manualnej, może powinieneś zdobyć lepszych artystów ...
Panda Pajama
2
Współpracowałem z wieloma najlepszymi animatorami 3D, a większość z nich woli ręcznie animować rzeczy niż za pomocą mo-cap, ponieważ mają one znacznie większą kontrolę nad wyrażeniami tworzonych animacji i mają znacznie większą swobodę w zakresie postacie mogą to zrobić w porównaniu z tym, co potrafi ludzkie ciało. Jednak, gdy replikacja określonego ruchu ludzkiego ma kluczowe znaczenie (na przykład w przypadku gier sportowych AAA z prawdziwymi graczami), mo-cap jest całkiem niezbędny.
Panda Pajama
Możesz dodać, że zalecenia dotyczące oprogramowania można zapytać w zaleceniach dotyczących oprogramowania StackExchange.
Ramchandra Apte
3

W rzeczywistości odpowiedź Filipa jest dość dobra, ale brakuje ważnej kwestii.

Niektóre gry (Quake / Q2 są najbardziej godnymi uwagi przykładami) w ogóle nie korzystały z animacji szkieletu - zamiast tego korzystały z animacji wierzchołków (tj. Animacji pozycji wierzchołków w siatce). To rzeczywiście dużo prostsze do wsparcia w kodzie, choć dla dużych projektów, to zwykle nie są prawdziwe (ale nadal wiele gier zostały wykonane w ten sposób *.

Aby poznać szczegóły, patrz np

https://en.wikipedia.org/wiki/MD2_(file_format)

Był to również domyślny sposób definiowania animacji we Flashu, 3D Studio i 3DSmax w dawnych czasach (chociaż przestał być tak po implementacji animacji szkieletowych). Myślę, że w przypadku prostych gier interpolacja wierzchołków oparta na ramkach jest nadal najłatwiejszym (zarówno pod względem kodu, jak i wysiłku modelowania) sposobem na rozpoczęcie.

użytkownik1306322
źródło
Rzeczywiście, ale większość silników (zdaję sobie sprawę, że to ogólne pytanie) obsługuje natywnie animację szkieletu, a przynajmniej moim zdaniem, są one prostsze do zrobienia, po prawidłowym skonfigurowaniu szkieletu
Kroltan
1
To nie jest tak bardzo ani / ani tak bardzo jak nuta historyczna. Gry to robiły, ale już nie. Tak długo, jak robimy notatki historyczne, zanim silniki gier obsługiwały animację wierzchołków, zajmowały się animacją hierarchiczną (pomyśl N64 / PS1)
jhocking
Opisywanie tego jako „opartego na klatkach kluczowych” jest bardzo mylące, ponieważ animacja szkieletowa również używa klatek kluczowych. Zmienię to na „animację wierzchołków”.
jhocking
@jhocking / agree, esp. z animacją hierarchiczną; i yup, animacja wierzchołek jest rzeczywiście termin tutaj. I tak, nowe gry już tego nie robią.
@Kroltan Jak powiedziałem, w przypadku prostych gier bez rzeczywistego silnika animacji szkieletowej może to być najlepsza opcja. Kilka lat temu kodowałem zarówno animację wierzchołków, jak i szkieletową dla mojego projektu fizyki w OpenGL - i uwierz mi, byłem w stanie kodować animacje wierzchołków w około godzinę, a szkielety zajęły mi kilka dni. Jeśli używasz dedykowanego silnika (np. Ogra), szkielety są oczywistą drogą.
1

Odpowiedź Filipa jest poprawna, ale warto dodać, że są (relatywnie) niskie koszty niewymagające znaczników rozwiązania do przechwytywania ruchu, które wykorzystują czujniki powszechnie spotykane w domu, takie jak szereg kamer internetowych, czujników Microsoft Kinect lub Sony PS Eyes. Zazwyczaj nie generują animacji o jakości produkcyjnej (w większości przypadków można spodziewać się miernej precyzji i fluktuacji), ale będziesz mieć odpowiedni czas i jeśli będziesz chciał zrobić porządki i dostrajać, zaoszczędzić dużo czasu w porównaniu do ręcznego animowania szkieletu (lub siatki bezpośrednio).

Dodatkowo istnieje Mixamo , usługa sprzedająca gotowe animacje popularnych siatek szkieletowych. Jeśli dobrze pamiętam, w celu oceny oceniają bezpłatnie animacje.

TC
źródło
1
Chciałbym dodać, że uniwersyteckie laboratorium MOCAP faktycznie zastąpiło wszystkie swoje drogie (kilkuletnie) urządzenia bezmarkerowym rozwiązaniem opartym na kinektach, co dało lepsze wyniki. Oczywiście markery nie mogą konkurować ze sprzętem najwyższej klasy. Ale Kinect jest cholernie dobry (szczególnie jeśli weźmiemy pod uwagę cenę) dla tego rodzaju rzeczy.
Roy T.