Wie kann ich große bewegliche „Koloss“ -Zeichen implementieren, die auch als Umgebungsobjekte fungieren?

7

Ich bin gespannt, wie enorme Charaktere implementiert werden, die sowohl als Entitäten als auch als Umgebungen fungieren. Ich denke an Figuren wie in Shadow of the Colossus , die bewegen, aber die der Spieler kann auch bewegen auf .

Es scheint, als würden diese Objekte als Charaktere erstellt, die wie jeder Charakter mit ihren verschiedenen Animationen manipuliert sind, aber sie müssten auch übliche physische Oberflächen sein, auf denen wir laufen können. In Anbetracht der Art und Weise, wie Charaktere behandelt werden, im Vergleich dazu, wie statische Umgebungen in den meisten Spiel-Engines physisch behandelt werden, könnte sich dies als problematisch erweisen, und dazu kommt das Problem der Größe.

Wenn Sie also die Details der Engine verallgemeinern (vorausgesetzt, Sie haben eine generische Physik- / Charakter-Engine, z. B. Unity / Unreal), welchen Ansatz sollten Sie wählen?

Auch Screenshot:

Screenshot des Schattens des Kolosses

Wie Sie in diesem Screenshot sehen können, ist der Koloss wirklich groß und der Spieler kann darauf laufen und auf einige Teile davon klettern (meistens Haare).

Und ein Video von einem Bosskampf hier, das wirklich zeigt, worum es in diesem Gameplay geht

Malharhak
quelle
Haben Sie einen super coolen Screenshot von SotC zur Veranschaulichung? (Skala scheint ein wichtiger Teil der Frage zu sein und ich habe das Spiel nicht gespielt.)
Anko

Antworten:

3

Ich habe einen wirklich großartigen Artikel über SOTC gelesen und wie das gemacht wurde. Ich habe hier eine Kopie davon gefunden .

Zusammenfassend verwenden sie ein "verformbares" Netz, bei dem Teile eines Dreiecksnetzes mit der gleichen Technik wie manipulierte Zeichen zu Knochen gewichtet werden. Die Kanten / Lippen, die ergriffen werden können, sind speziell gekennzeichnet. Ich vermute, dass sie die vorherige und neue Position jedes Scheitelpunkts beibehalten, damit sie die Geschwindigkeit jedes Kontakts berechnen können, um die Auflösung zu unterstützen.

Ich glaube nicht, dass viele Physik-Engines dies sofort tun könnten, aber ich kann mir vorstellen, dass Sie es mit Sorgfalt selbst implementieren könnten.

Grundsätzlich denke ich nicht, dass es schwierig ist, aber es schnell laufen zu lassen und eine gute Kollisionsreaktion zu erzielen, erfordert Mühe. Das Einkapseln jedes Dreiecks in einen begrenzten AABB-Baum (z. B. 3D-Version der Box2d-Broadphase) würde dazu beitragen, Abfragen zu beschleunigen. Die Tatsache, dass Dreiecke Größe und Ausrichtung ändern, ist eine Komplikation, aber offensichtlich nicht unüberwindbar.

Steven
quelle