Wie können variable Körperformen implementiert werden?


8

Spiele wie Ryzom und die Sims ermöglichen es Spielern, menschliche Körper mit unterschiedlichen Formen zu haben: breit oder dünn, groß oder kurz, große Nasen oder klein usw. Es scheint mir unpraktisch, alle möglichen Kombinationen der vorab zu generieren Maschen.

Wie kann man das machen? Sind die Netze programmgesteuert definiert? Ist es ein gewichteter Durchschnitt mehrerer "Morph Target" -Modelle?

Wenn eine Berechnung zur Bestimmung des Netzes erforderlich ist: Wird dies in einem "Geometrie-Shader" durchgeführt? Oder wird es von der CPU gemacht?

Referenz: In der Frage " Erstellen von Kunstobjekten für den 3D-Avatar-Editor " wurden Avatar-Editoren und variable Körperelemente erwähnt und einige Spiele verwenden Morph-Ziele und Glyphenbomben.

Antworten:


2

Dies müsste von der CPU durchgeführt werden - ein Geometrie-Shader bietet nicht die Möglichkeit, seine Ergebnisse zu speichern, was unerlässlich wäre, und nicht alle von diesen Spielen unterstützten Geräte unterstützen Geometrie-Shader. Das Erreichen kann so einfach sein wie das Anwenden einer Skalenmatrix auf das Ganze oder einzelne Teile.

Bearbeiten: Ich habe Ihre verwandte Frage gelesen. Sie sollten diese Frage wirklich klären, um explizit das Morph-Ziel oder nur die Skalierungsanpassung zu behandeln.


Gab mehr Kontext zu der "verwandten Frage". Ich habe Morph-Ziele nicht erwähnt. Es geht definitiv um die Anpassung. Wenn sich Morph-Ziele im Lösungsraum befinden, würde ich gerne mehr darüber erfahren. Mein Anliegen ist es jedoch, die Körper mit Animationen und passenden Modellen (z. B. Kleidungsmodellen) konsequent umzusetzen. Ich bin für keinen Teil des Lösungsraums prädisponiert.
AngryPuffin

Nicht ganz richtig; Wenn Sie CUDA oder OpenCL verwenden, können Sie auf die Geometrie zugreifen, an der die GPU arbeitet.
Ingenieur
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.