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

1

02.04.2013, 17:56

[C++ DirectX 9]Modelle animieren

Hi,
ich versuche schon seit langer Zeit zu lernen wie man Modelle animieren kann. Ich habe mir die SkinnedMesh.cpp Datei angeschaut.
Doch da stelle ich mir nur Fragen wie z.B. "Wann werden die Methoden CreateFrame, CreateMeshContainer, DestroyFrame und DestroyMeshContainer aufgerufen" oder "wie kann ich CD3DArcBall benutzen...es kommt nur der Fehler, dass es nicht definiert ist".
Wie habt ihr das Thema Modelle animieren gelernt?
Und könntet ihr mir Bücher oder Tutorials empfehlen?
Danke im voraus
mfg BreakBlack

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BreakBlack« (02.04.2013, 18:18)


Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

02.04.2013, 18:04

;) Ein wenig mehr Informationen wären schon gut. Ich kenne SkinnedMesh.cpp nicht. Wo ist diese Datei her? Gehört die zu einer Engine? Wenn ja? Welche Engine? Da ich die Datei nicht kenne, kenne ich auch die Methoden darin nicht. Dann fragst du wie du CD3DArcBall benutzen kannst. Mal unabhängig davon, dass ich nicht weiß was das sein soll, was willst du damit sagen, dass es nicht definiert ist? Gibts ne genaue Fehlermeldung oder worum geht es da? Ich muss zugeben, ich habe erst gedacht, du willst wissen wie du Modelle erstellst, die man animieren kann;) Hier gehts ja eher um die Codeseite und da ist das ganze nun mal Engine abhängig. Vermutlich wird bei dir mit Bones gearbeitet. Man versucht eine Art Skelett zu erstellen. Die einzelnen Knochen des Skelettes werden nun mit den einzelnen Vertizes deines Modells verbunden. Wenn nun ein Knochen bewegt wird, so kann geguckt werden wie sich die verbundenen Vertizes bewegen müssen. Diese können transformiert werden und so wird das Modell beeinflusst. Dazu gibt es bei Google einiges an Informationen zu finden. Wenn du speziellere Fragen hast, dann schreib hier. Dann aber etwas genauer formuliert. Wir wissen nicht was du grad tust und womit du grad arbeitest. Das wird oft vergessen;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

3

02.04.2013, 18:23

Die SkinnedMesh.cpp ist bei den Samples von DirectX zu finden. Habe die Programmierumgebung noch in die Überschrift editiert.
Meine Frage war ob jemand eine Anleitung dazu kennt, womit der jenige Erfolg beim Animieren von Modellen hatte.
Ich denke mal SkinnedMesh.cpp ist eine ziemlich gute aber schwierige Lösung. Deswegen bin ich auf der Suche nach einer leichteren Lösung.
mfg BreakBlack

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

4

02.04.2013, 18:24

http://www.gamedev.net/page/resources/_/…irectx-90-r2079

Hilft dir das weiter? Da fallen jedenfalls einige Schlagwörter die dir weiter helfen könnten.


gruß

fb

5

02.04.2013, 18:29

http://www.gamedev.net/page/resources/_/…irectx-90-r2079

Hilft dir das weiter? Da fallen jedenfalls einige Schlagwörter die dir weiter helfen könnten.


gruß

fb


Das sieht ganz gut aus...Werde mich mal dransetzen. Falls Probleme vorhanden sein werden, schreibe ich diese in den Thread.
Danke an alle Antworten bis jetzt
mfg BreakBlack

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

02.04.2013, 19:18

Jetzt wo du es sagst. Hab mir das bei den XNA Samples mal angeguckt. Naja wenn du dir das alles selbst schreiben willst, dann ist das wohl ein sinnvoller Ansatz. Normalerweise würde man aber eine fertige Engine nehmen und nicht direkt mit DirectX arbeiten. Da gäbe es ja noch unendlich viele andere Dinge die du dir selbst implementieren müsstest. Hinzu kommt, normal würde man ein Modell ja aus einer Datei laden. Den Importer müsstest du dir dafür auch selbst schreiben. Hat es einen bestimmten Grund, dass du mit DirectX arbeitest? Wenns dir rein ums Verständnis und lernen geht, dann ist das ne tolle Sache und sowas kann auch Spaß machen. Um ein Spiel zu entwickeln würde ich normalerweise nicht so Low Level anfangen. Bei C++ könntest du dir da zum Beispiel Ogre oder Irrlicht angucken. Natürlich nur wenn sowas für dich interessant ist.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

7

02.04.2013, 19:28

Vorgefertigte Sachen sind nicht so mein Ding ;) Eigentlich wollte ich die Spiele nur mit C++ programmieren. Irgendwann hab ich aber selbst bemerkt, dass man mit DirectX viel mehr machen kann. Und ab da hab ich mir dann auch vorgenommen bei DirectX zu bleiben und nicht auf irgendwelche Engines umzusteigen^^
mfg BreakBlack

m3xx

Alter Hase

Beiträge: 434

Beruf: Student

  • Private Nachricht senden

8

02.04.2013, 20:03

Verstehe ich nicht ganz? Was meinst du mit: "[...]man mit DirectX viel mehr machen kann." Du kannst immer noch eine Engine benutzen und DirectX benutzen. Was dir einiges an Arbeit abnehmen würde. Und das was dir halt nicht gefällt schreibst du selbst, oder was du noch brauchst schreibst du dir halt auch selbst.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

9

03.04.2013, 13:50

Das sind falsche Vorstellungen unter denen du leidest. Wenn du schreibst, du wolltest nur C++ benutzen, wie wolltest du dann zum Beispiel Grafiken und Modelle ausgeben? Was ist mit Sounds? Wolltest du selbst Treiber für die Hardware entwickeln und damit arbeiten? Und sind Funktionen vom OS dann ok oder ist das nicht ok? Naja es kommt immer drauf an was man machen möchte. Der eine möchte halt etwas "neues" schaffen und der andere hält sich lieber damit auf das Rad zum mio.sten mal neu zu erschaffen. Wenn man aus Interesse bestimmte Dinge selbst entwickelt ist das was anderes. Ansonsten ist dieser Gedankengang aber schwachsinnig;) Das wirst du mit der Zeit aber noch lernen und anders über diese Dinge denken. Am besten kaufst du dir ein Buch über DirectX. Zusätzlich ist ein ordentliches Mathebuch vermutlich von Vorteil. Und was zu bestimmten Algorithmen in Spielen wird auch hilfreich sein. Alles selbst zu entwickeln und dann nur das Internet zu Verfügung zu haben wird sonst enorme Zeit kosten.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

10

03.04.2013, 19:42

wenn wir jetzt bei büchern sind ^^

dann kann ich das anraten:
http://www.amazon.de/Introduction-3D-Gam…65010901&sr=8-3

Hier steht auch das drin was du machen willst. gibt es auch für directx 9.

gruß

fb

Werbeanzeige