Wie werden Spielfiguren animiert? [geschlossen]

10

Ich werde mit meinen Freunden an unserem letzten Jahr Projekt arbeiten. Unser Spiel wird FPS sein und ich muss einige Animationen für die FPS-Ansicht und andere feindliche Charaktere zeichnen, die leicht programmiert werden können, um ein gutes Spiel zu machen.

Ich würde gerne wissen, wie Spielfiguren gemacht werden, die beweglich sind. Welche Art von Software und Engines werden für diese Charaktere verwendet?

Ahmed
quelle
Ist das ein Duplikat? Wenn ja, werde ich für den Abschluss stimmen, aber ansonsten ist es wahrscheinlich eine gute Idee für diese Site, diese grundlegende Frage einmal zu beantworten.
Schockieren
1
Ich habe zuerst danach gesucht und dann diese Frage gestellt :-)
Ahmed
Meinen Sie 2D- oder 3D-Zeichen? Charaktere, die ein Skelett haben oder amorphe Blobs sind? Suchen Sie eigenständige Ergebnisse oder die Integration in eine Physik-Engine? Dies könnte eine gute Frage sein, aber im Moment würde eine vollständige Antwort mehrere Bücher füllen.
Anko

Antworten:

18

Spielfiguren werden normalerweise mit einer Technik animiert, die als Skelettanimation bezeichnet wird : Geben Sie hier die Bildbeschreibung ein (Bildquelle: Valve Software )

Jedes 3D-Modell hat eine unsichtbare Knochenstruktur (die roten und blaugrünen Linien im Bild oben). Jedes Polygon des Modells ist mit einem Knochen verbunden. Wenn Sie eine Bewegungssequenz definieren, definieren Sie sie als eine Folge von Rotationen der Knochen um ihre Verbindungen zu anderen Knochen. Wenn sich ein Knochen bewegt, bewegen sich die damit verbundenen Polygone mit. Auf diese Weise können Bewegungsabläufe definiert werden, ohne dass die Position jedes einzelnen Polygons geändert werden muss. Wenn mehrere Charaktere dieselbe Knochenstruktur haben, können sie auch dieselben Animationen verwenden, sodass Sie nicht jede Animation für jeden Charakter neu erstellen müssen (obwohl Sie möglicherweise einige Animationen für Charaktere unterschiedlichen Geschlechts, Persönlichkeitstyps und Ebenen unterschiedlich gestalten möchten der körperlichen Fitness).

Die meisten 3D-Modellierungssoftware unterstützen Skelettanimationen und verfügen über Exportformate, die von weit verbreiteten 3D-Engines gelesen werden können. Bitte fragen Sie hier nicht nach Produktempfehlungen, da diese nicht zum Thema gehören.

Es führt jedoch nicht immer zu den besten Ergebnissen, wenn ein Künstler Animationen von Grund auf neu erstellt. Es ist schwierig, alle subtilen Nuancen der menschlichen Körpersprache aus dem Gedächtnis wiederherzustellen, daher wirken die Ergebnisse oft roboterhaft und unnatürlich. Aus diesem Grund verwenden größere Spielestudios, die über die entsprechenden Ressourcen verfügen, einen Prozess namens Motion Capturing .

Menschliche Schauspieler werden angeheuert, um die Aktionen der Spielfiguren auszuführen. Die Schauspieler tragen während der Aufführung spezielle Anzüge, an denen gut sichtbare Markierungen angebracht sind. Wenn sie während der Inszenierung von einer Videokamera aufgenommen werden, kann die Bewegung dieser Markierungen auf die Knochen der 3D-Modelle der Charaktere abgebildet werden. Auf diese Weise können die Bewegungen der Akteure dann auf jedes 3D-Modell angewendet werden, das dieselbe Knochenstruktur verwendet. Diese Methode führt normalerweise zu viel natürlicheren Ergebnissen. Wenn eine große Anzahl von Animationen erstellt werden muss, kann dies auch eine enorme Zeitersparnis bedeuten. Geben Sie hier die Bildbeschreibung ein (Bildquelle: Toptear Games )

Die Kosten für die für die Bewegungserfassung erforderliche Ausrüstung werden jedoch wahrscheinlich Ihr Budget bei weitem übersteigen, sodass Sie in einem 3D-Modellierungsprogramm manuell Skelettanimationen definieren müssen.

Philipp
quelle
1
Gute Antwort. Aber vielleicht könnte man erwähnen , dass es ist in der Tat, Techniken kostengünstig Motion Capturing, unter Verwendung von Computer - Kameras (Webcams, die Kinects oder PS Eyes). Es gibt auch Dienste, die wiederverwendbare Animationen für gängige Skelettnetz-Setups verkaufen.
TC
1
@ TheodorosChatzigiannakis Ich bin in beiden Bereichen nicht sehr kompetent. Vielleicht möchten Sie eine eigene Antwort ausarbeiten?
Philipp
"Wenn ein Künstler Animationen von Grund auf neu erstellt, führt dies nicht immer zu den besten Ergebnissen." Die Behauptung, dass Bewegungserfassung von Natur aus besser ist als manuelle Animation, ist wie die Behauptung, dass Fotografie von Natur aus besser ist als Leinwandmalerei. Sowohl manuelle Animation als auch Mo-Cap sind unterschiedliche künstlerische Techniken, die für unterschiedliche Zwecke verwendet werden, und kompetente Künstler in jeder Technik liefern hervorragende Ergebnisse. Wenn Ihre Bewegungskünstler keine gute manuelle Animation machen können, sollten Sie vielleicht bessere Künstler finden ...
Panda Pyjama
2
Ich habe mit einer Reihe erstklassiger 3D-Animatoren gearbeitet, und die meisten von ihnen ziehen es vor, Dinge manuell zu animieren, anstatt Mo-Cap zu verwenden, da sie viel mehr Kontrolle über die Ausdrücke in den von ihnen erstellten Animationen haben und viel mehr Freiheit darüber haben, was Die Charaktere können im Vergleich zu dem, was ein menschlicher Körper kann. Wenn jedoch die Replikation einer bestimmten menschlichen Bewegung von entscheidender Bedeutung ist (z. B. bei AAA-Sportspielen mit echten Spielern), ist Mo-Cap durchaus erforderlich.
Panda Pyjama
Sie können hinzufügen, dass Softwareempfehlungen in den Softwareempfehlungen StackExchange abgefragt werden können.
Ramchandra Apte
3

Eigentlich ist die Antwort von Philipp recht gut, übersieht aber einen wichtigen Punkt.

Einige Spiele (Quake / Q2 sind die bemerkenswertesten Beispiele) verwendeten überhaupt keine Skelettanimation - sie griffen stattdessen auf Scheitelpunktanimationen zurück (dh Animieren der Position von Scheitelpunkten im Netz). Es ist eigentlich viel einfacher zu Unterstützung in Code, obwohl für große Projekte dies in der Regel nicht wahr halten (aber immer noch, viele Spiele wurden auf diese Weise gemacht *.

Einzelheiten siehe z

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

Dies war auch die Standardmethode zum Definieren von Animationen in Flash, 3D Studio und 3DSmax in früheren Zeiten (obwohl dies nach der Implementierung von Skelettanimationen für sie nicht mehr der Fall war). Ich denke, dass für einfache Spiele die rahmenbasierte Interpolation von Scheitelpunkten immer noch der einfachste Weg ist (sowohl hinsichtlich des Codes als auch des Modellierungsaufwands), um loszulegen.

user1306322
quelle
In der Tat, aber die meisten Motoren (mir ist klar, dass dies eine generische Frage ist) unterstützen die Skelettanimation nativ, und zumindest meiner Meinung nach sind sie nach korrekter Einrichtung des Skeletts recht einfach
durchzuführen
1
Dies ist weniger eine Entweder-Oder-Note als eine historische Notiz. Spiele haben das früher gemacht, aber jetzt nicht mehr. Solange wir historische Notizen machen, bevor Game Engines Vertex-Animationen unterstützten, machten sie Hierarchieanimationen (denken Sie an N64 / PS1)
jhocking
Auch dies als "Keyframe-basiert" zu beschreiben, ist sehr irreführend, da bei der Skelettanimation auch Keyframes verwendet werden. Ich werde es zu "Scheitelpunktanimation" bearbeiten.
Schockieren
@jhocking / zustimmen, esp. mit Hierarchieanimation; und yup, Vertex-Animation ist hier eigentlich der Begriff. Und ja, neue Spiele machen das nicht mehr.
@Kroltan Wie gesagt, für einfache Spiele ohne eigentlichen Skelett-Animations - Engine es kann die beste Option. Ich habe vor ein paar Jahren sowohl Vertex-Animation als auch Skelett-Animation für mein Physikprojekt in OpenGL von Hand codiert - und glauben Sie mir, ich konnte Vertex-Animationen in etwa einer Stunde codieren, während Skelette einige Tage in Anspruch nahmen. Wenn Sie einen speziellen Motor (z. B. Ogre) verwenden, sind Skelette der naheliegende Weg.
1

Philipps Antwort ist richtig, aber es lohnt sich hinzuzufügen, dass es (relativ) kostengünstige markerlose Motion-Capturing-Lösungen gibt , die Sensoren verwenden, die häufig zu Hause verwendet werden, wie z. B. eine Reihe von Webcams, Microsoft Kinect-Sensoren oder Sony PS Eyes. Normalerweise werden keine Animationen in Produktionsqualität ausgegeben (in den meisten Fällen ist mit mittelmäßiger Präzision und Jitter zu rechnen), aber Sie haben das richtige Timing, und wenn Sie bereit sind, einige Aufräum- und Feinabstimmungen vorzunehmen, wird dies der Fall sein Sie sparen viel Zeit im Vergleich zur manuellen Animation des Skeletts (oder des Netzes direkt).

Darüber hinaus gibt es Mixamo , einen Dienst, der vorgefertigte Animationen für gängige Skelettnetze verkauft. Wenn ich mich richtig erinnere, geben sie eine Reihe von Animationen kostenlos zu Bewertungszwecken.

TC
quelle
1
Ich möchte hinzufügen, dass ein MOCAP-Labor der Universität hier tatsächlich alle teuren (einige Jahre alten) Geräte durch eine markerlose Lösung auf Kinect-Basis ersetzt hat, die bessere Ergebnisse lieferte. Natürlich kann markerless nicht mit Top-Tear-Hardware mithalten. Aber ein Kinect ist verdammt gut (besonders wenn wir den Preis berücksichtigen) für diese Art von Dingen.
Roy T.