Jump to content
Unity Insider Forum

Random Character - Vorgehensweise


Diedangel

Recommended Posts

Hallo Zusammen,

ich versuche gerade folgendes umzusetzen:

Ich möchte unterschiedliche Charakter-Körperteile zu einem neuen Charaktern zusammensetzen. Hierbei sollen ihre individuellen Animiationen weiterhin funktionieren.
Mit "zusammensetzen" meine ich --> es werden Kopf / Hände / Körper / Füße / Flügel .... von verschiedenen Charakter radom ausgetauscht und es entsteht ein neues Wesen.
Wenn man zb. einen Troll und ein Spinnenwesen mischt entsteht zb. ein: Troll Kopf / Troll Körper / Spinnenfüsse / Spinnenarme - Wesen

Dieses neue Troll-Spinnen-Wesen kann erneut mit einem anderen Charakter vermischt werden. Dadurch entsteht wieder ein neues Wesen.
Spinnen-Troll-Wesen vermischen mit Adler = z.B. ein Spinnen-Troll-Wesen mit Flügeln und Krallen-Füßen
usw. hoffe ihr versteht wie ich das meine.

 

Bevor ich jetzt loslege wollte ich euch fragen wie ihr an die Sache rangehen würdet. Vielleicht hat der ein oder andere sowas oder ähnliches schonmal gemacht.

Meine Vorgehensweise wäre wie folgt:
1. Jeder Charakter einzeln modeln / riggen / animieren
2. Jeden Charakter in Parts zerschneiden (Kopf / Körper / Arme / Füße / Sonstige Teile wie Schwanz, Flügel usw.)
3. Alle Parts einzeln rausspeichern immer mit dem gesamten Rig
4. Alle Animationen rausspeichern
5. In Unity die einzelnen Charakter-Parts wieder zusammenbauen 
6. mit Mechanim Generic die Animatinen definieren
Wenn nun ein Charakter mit einem anderen gemischt wird, werden sozusagen 2 Rigs ineinander gesteckt. Alle Parts die nicht benötigt werden, werden dann ausgeblendet.
Dabei bleiben Animationen erhalten. Im schlimmsten Fall (also wenn 5 unterschiedliche Charakter gemischt werden) stecken 5 Rigs ineinander wovon man jeweils nur die entsprechenden Parts sieht. Ob das so gut ist weiß ich nicht, also was die Performance angeht.

Ich bin mir nicht sicher ob das der richtige Weg ist oder ob es vielleicht einen besseren Workflow gibt.

 

Freue mich auf Antwort.

Gruß

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Zusammen,

Habe nun die oben genannte und ein paar weitere Möglichkeiten durchprobiert und hab nun einen funktionierenden Weg gefunden (einzelne Körperteile + zerschnittenes Rig).
Vielleicht hat ja irgendwer mal selbe Frage und freut sich über einen Lösungsweg.
Hier meine Vorgehensweise / ich verwende hierbei Blender 2.78 und Unity :

  1. Als erstes in Blender die Charakter erstellen / Unwrapen / Texturieren --> hierbei gleich mit Körperparts arbeitet. Das heißt sowohl die Meshteil als auch die späteren Texturen sind seperat. Man kann natürlich schon erst mal ein gesamtes Mesh erstellen + textureren und später dann auf kleinere Texturen rüber-backen. Man sollte aber auf alle Fälle beim erstellen die späteren Schnittkannten kennen. Ich löses es später bei den einzelnen Körperteilen so das ich sie ineinander stecken werde und mit einfachen Planes mit Fell verdecke.
  2. Rig erstellen oder vorhandenes Master-Rig an das neue Mesh anpassen und Animationen erstellen. Beim Rig ist es wichtig das bei den Schnittkanten zum nächsten Körperteil immer ein Zusatz-Mini-Bone eingefügt wird. Dieser Bone wird später der Snap-Bone. An des Ende muss später auch der Pivot/Origin-Point des Körperteils und dessen Rigs/Armatur gesetzt werden. Dieser Bone muss bei Animationen immer still bleiben. Als Weighing verwendet man hier die letzten Vertices. Falls nötig erstellt man sich hierfür einen neuen Vertices-Ring.
  3. Nun erstell man mit dem Gesamten Mesh die benötigten Animationen. ZB. Idle / Walk / Run / Jump / Action
  4. Jetzt muss das Mesh + Rig zerteilt werden. Dazu unbedingt eine Kopie vom animierten Charakter erstellen und mit diesem zB. auf einer andere Ebene weiterarbeiten. Mit dem Original (noch nicht zerschnittenem Charakter) können später ohne Probleme weitere Animationen erstellt werden und vom zerschnittenen Mesh verwendet werden. Man darf nur an den Rigs/Weightings nichts mehr ändern. Die Kopie muss nun sooft kopiert werden wie man Körperteile benötigt. Man nimmt dann jede einzelne Kopie her und löscht sowohl in der Armatur als auch im Mesh alle nicht benötigten Teile raus. Zum Schluss sollte man dann zB. Kopf / Körper / Hüfte mit Füßen / Hand links / Hand rechts / Flügel / Haare ... jeweils einzeln als Rig+Mesh haben. Nun setzt man den Pivot/Origin-Point noch an den benöigten Snap-Bones / Nur die Füße haben den Pivot/Origin-Point Mittig am Boden unten. Nach dem zerschneiden funktionieren alle Animationen weiterhin, es sieht nur warscheinlich beim Abspielen komisch aus weil die einzelnen Körperteile nicht mehr zusammen hängen. Davon sollte man sich nicht irritieren lassen (Ich hab versucht mit Emptys zu arbeiten doch die scheint Unity nicht zu mögen und macht meine Animationen unbrauchbar).
  5. Nach dem zerschneiden gehts weiter ans exportieren als FBX. Sprich es müssen alle Körperteile mit ihrem jeweiligen Rig seperat exportieren.
  6. In Unity baut man das ganze dann wieder zusammen. Es wird ein ineindarschachteln sein.Auf die Hüfte mit Füßen --> Körper --> Hände links und Rechts --> Kopf --> Haare
  7. Jedes Körperteil benötigt einen eigenen Animations-Controller.
  8. Zum Schluss muss nur noch von jedem fertigen Körperteil ein Prefab gemacht werden.

Und schon kanns los gehen per Code die Charakter zu mischen.

Viel Spass beim nachbauen
Liebe Grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...