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?
Odpowiedzi:
Postacie w grze są zwykle animowane przy użyciu techniki zwanej animacją szkieletową : (Ź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. (Ź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.
źródło
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.
źródło
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.
źródło