Du bist nicht angemeldet.

Werbeanzeige

ByteJunkie

Alter Hase

  • »ByteJunkie« ist der Autor dieses Themas

Beiträge: 834

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

1

10.02.2016, 15:00

Kleidung wechseln mit Bone Animation

Hallo, mir ist nicht so ganz klar, wie die Profis das machen. Siehe Anhang.
Step 1: Ein animierter Charakter hat keine Kleidung an.
Step 2: Die Kleidung wird angelegt und bewegt sich mit dem animierten Body.

Wenn nur die Kleidungsmodelle auf das Charaktermodell gelegt werden bewegen die sich ja nicht mit. :(
Wird das Charaktermodell in animierte Einzelteile zerlegt und diese dann durch animierte Teile mit Kleidung ersetzt? :S
»ByteJunkie« hat folgende Bilder angehängt:
  • Unbenannt1.jpg
  • Unbenannt2.jpg
"Alles bleibt wie immer. :rolleyes: Wenn es nicht besser wird, wird es schlimmer!." :huh:

@zimmer

Alter Hase

Beiträge: 1 150

Wohnort: NRW Germany

  • Private Nachricht senden

2

10.02.2016, 15:07

Ich denke die Prosition und Rotation der kledungs Modelle werden immer Aktualisiert.
Wenn der Charakter sich bewegt muß die Kleidung den Vector übernehmen bzw dazu adieren.
Man kann die an bones anheften oder an Vertex.
Aber bei Hosen denke ich dass, die Profis nicht die auch noch animieren oder Sie können die Animation key Frames vom Charakter übernehmen, habe ich mir gerade gedacht.

wüsste ich auch gerne ...

TrommlBomml

Community-Fossil

Beiträge: 2 143

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

3

10.02.2016, 15:30

Eine verdammt gute Frage, die ich mir auch schon öfter gestellt habe. Wenn man sich überlegt, wie Bone-Animation funktioniert, dann wäre ein naiver Ansatz, dass das Modell modular aufgebaut ist und tauschbare jedes Körperteil ein eigenes Submodell ist. Jedes Submodell muss ja in den Vertexdaten einen oder mehreren Joints zugeordnet sein, das ist in den Vertexdaten verankert. Und wenn jetzt jedes austauschbares Submodell für Jacke, Hemd usw. für jeden Vertex auf die korrekten Joints verweist (das ist auch nur ein Index), tauscht man ein Submodell aus und kann einfach "mitanimiert" werden. Um die Performace zu erhöhen werden die Submodelle aber vermutlich zu einem Modell zusammen in einen Vertexbuffer gemerged, um Drawcalls zu sparen. Außer bei Umhängen vielleicht, da hängt ja noch Physik dran ;)

Schrompf

Alter Hase

Beiträge: 1 403

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

4

10.02.2016, 15:33

Wir haben das damals über modulare Meshes gemacht. Pro Segment (bei uns war's nur "Körper" und "Kopf") ein Mesh, aber alle Meshes benutzen das selbe Skelett. Dann funktionieren auch die Anims analog.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

TrommlBomml

Community-Fossil

Beiträge: 2 143

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

5

10.02.2016, 15:39

Kurze, gute Zusammenfassung meiner Erklärung, danke! :)

6

10.02.2016, 15:41

Wo kommen denn deine Animationen her und nutzt du keine lib/api zur Implementierung?
Texturen swappen sollte eigentlich kein großes Thema sein, solange du jeden bone einzeln ansprechen kannst.

Für Flash und Javascript/html5 funktioniert z.B. DragonBones ziemlich gut und bringt alle features mit (kann man sich auch einfach anschauen, um das Prinzip und Fähigkeiten abzuschauen).
Das von Grund auf selbst zusammenzubasteln kann natürlich ein wenig dauern.
Ist natürlich ein 2d-Beispiel. Das Prinzip bleibt aber eh gleich.

Schrompf

Alter Hase

Beiträge: 1 403

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

7

10.02.2016, 15:55

Ich hab damals die Engine selbstgeschrieben. Siehe Signatur, Abteilung "Splitterwelten". Müsste aber auch in anderen Engines funktionieren.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

ByteJunkie

Alter Hase

  • »ByteJunkie« ist der Autor dieses Themas

Beiträge: 834

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

8

10.02.2016, 16:59

Erst mal Danke für die Antworten. Wem noch etwas dazu einfallen sollte, immer her damit. :)

Ich habe vor so etwas mit DirectX 9 zu machen. Das Modell werde ich mit Blender animieren.
Dann werde ich den Modellkonverter von David um die entsprechenden Funktionen erweitern damit ich das Ganze mit der Tribase benutzen kann.
Ich hab ein Programmierbeispiel für animierte X-Files gefunden. Mit X-Files komm ich klar. Ist natürlich nur eine Möglichkeit von vielen.
Wenn Ihr ein anderes Dateiformat besser findet brauch ich dazu eine entsprechende Beschreibung um an die Daten zu kommen. :grumble:

@Schrompf - Welche Engine hast Du selbst geschrieben? Die hier? http://splitterwelten.net/projects/splitter_g.html 8)
"Alles bleibt wie immer. :rolleyes: Wenn es nicht besser wird, wird es schlimmer!." :huh:

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »ByteJunkie« (10.02.2016, 17:30)


KeksX

Community-Fossil

Beiträge: 2 137

Beruf: Game Designer

  • Private Nachricht senden

9

10.02.2016, 17:27

Selbst in den Projekten mit etablierten Engines(also die üblichen Verdächtigen), die ich so gesehen habe, wird es nicht anders gemacht. Daher eine Folgefrage an die Engine Profis: Ist das Best Practice, oder ein Resultat der "Faulheit"? Bis jetzt konnte ich keine nennenswerten Nachteile feststellen, außer natürlich den Animatoren zu erklären, welcher Teil des Meshes nun welches Gearteil beeinflusst (macht besonders Spaß, wenn die sich auch noch bewegen sollen, bspw. Waffen).
WIP Website: kevinheese.de

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KeksX« (10.02.2016, 18:38)


Jaiel

Alter Hase

Beiträge: 1 164

Wohnort: Berlin

Beruf: Student Ang. Informatik

  • Private Nachricht senden

10

10.02.2016, 17:36

Oder man amcht es so wie bei Batman's Cape in Arkham Asylum. Knapp 20 Monate Programmieraufwand und laut Wiki mehr als 700 Animationen und Soundeffekte.

Seems legit :hmm:

Werbeanzeige