Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

drz

Frischling

  • »drz« ist der Autor dieses Themas
  • Private Nachricht senden

1

01.11.2013, 12:29

[Gelöst] Bonematrizen x & y tauschen

Hallo,

ich versuche gerade Models und Maps aus einem Dateiformat zu laden, bei dem die Y und Z Koordinaten der Vertices und Matrizen vertauscht gespeichert sind. Natürlich kann man diese Werte einfach vertauschen, sowohl in den Positionen der Mesh als auch in den bone-matrizen. Jedoch zerstört es die komplette Animation, wenn ich dies versuche, da in den Matrizen nun auch Rotationen abgelegt sind. Hat sich vielleicht jemand schon damit beschäftigt und kann mir einen Hinweis geben, welche Werte (abgesehen von den Keyframes) ich in den bone matrizen noch ändern muss, damit die Rotation korrekt ist.

Ich bin mir über die Möglichkeit bewusst, dass ich auch erst die Animation anwenden kann und dann das transformierte Mesh drehen kann. Aber ich finde diese Lösung nicht gut, da ich dann in der Animationklasse zusätzlichen Code hinterlegen müsste, wegen diesem einen Format.

Ich hoffe, ich konnte mein Problem ausreichend beschreiben und würde mich über Lösungsansätze freuen. Vielen Dank.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »drz« (02.11.2013, 10:09)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

01.11.2013, 12:57

Du musst in den Matrizen dann Spalten oder Zeilen vertauschen. Kommt drauf an, wie die abgelegt sind. Probier einfach mal alles aus (2. und 3. Spalte oder Zeile tauschen).

drz

Frischling

  • »drz« ist der Autor dieses Themas
  • Private Nachricht senden

3

01.11.2013, 14:51

Vielen Dank David, ich dachte mir so etwas schon.


Für alle die es sonst interessiert, hier die Lösung:

Für die Position

in den Matrizen einfach Y und Z vertauschen. (_42 <-> _43 )

Für die Rotation
Zuerst Spalte 2 mit Spalte 3 tauschen. (_12, _22, _32 <-> _13, _23. _33 )
Dann Zeile 2 mit Zeile 3 tauschen. ( _21, _22, _23 <-> _31, _32, _33 )

Danke für den kleinen Denkanstoß.

Werbeanzeige