Ich habe ein Modell in Blender erstellt. Jetzt möchte ich dieses 3D-Modell in meinem C ++ - Programm lesen. Ich dachte mir, dass ein Modell in verschiedene Dateiformate exportiert werden kann, z. B. .obj, .3ds oder COLLADA, und dann in einem C ++ - Programm gelesen werden kann. Ich habe eine ganze Weile im Internet danach gesucht und viele Tutorials gefunden. Aber ich bin mit den meisten auf Probleme gestoßen. Im Nehe-Tutorial verwenden sie beispielsweise Glaux, das ich in meinem Programm nicht verwenden möchte. Die restlichen Tutorials verwenden md2, das von Blender nicht unterstützt wird.
Kann mir jemand sagen, welches Dateiformat zum Exportieren eines 3D-Modells verwendet werden soll und wie das in mein OpenGL-Programm geladen werden soll? Wie kann ich dieses Modell auch animieren? Ist es möglich, zusätzliche Effekte wie Tonzuordnung hinzuzufügen, nachdem es mit OpenGL in das c ++ - Programm geladen wurde? wenn ja dann wie?
PS Ich benutze Linux für die Spieleentwicklung
11
Blender 2.60 hat die Unterstützung für COLLADA-Animationen behoben. In früheren Versionen war dies mehr oder weniger fehlerhaft. Wenn Sie jedoch noch keine Modellformate in Ihren eigenen Code geladen haben, würde ich empfehlen, zuerst das Laden von .obj zu lernen. Es ist in ASCII, also für Menschen lesbar und ohne externe Loader-Bibliotheken leicht zu lesen.
quelle
3ds enthält keine Animationsdaten, so dass eine nicht funktioniert. Collada Ich weiß nicht viel darüber, aber als ich mich für ein Format in meinem Spiel entschieden habe, habe ich viel gesucht und verglichen und mich schließlich für das B3D-Format entschieden. Es unterstützt Skelettanimationen und kann von Irrlicht geladen werden (es enthält auch Beleuchtungswerte ).
Ich verwende den Exporter 'b3d Pipeline' von 3dsMax und habe meinen eigenen hlsl-Shader codiert, um die Netze zu animieren und zu beleuchten. Er funktioniert wirklich gut.
Sie können überprüfen, wie Irrlicht es macht (dh laden und animieren), es macht die Animation zwar in der Software, aber es gibt Beispiele, wenn Sie ein bisschen danach suchen, wie man es mit einem Shader macht (wenn Sie das wollen). Eine schöne Sache ist, dass Irrlicht sowohl OpenGL als auch Linux unterstützt.
Ein anderes Format, das recht einfach ist, ist das .X-Format. Es muss unzählige Beispiele dafür geben, wie man das Skelett exportiert, lädt, analysiert, einrichtet und damit animiert. Es ist zwar ein Microsoft-Format, also möchten Sie es vielleicht nicht verwenden :-)
Tonzuordnung und dergleichen hat absolut nichts mit Animation zu tun. Wenn Sie also wissen, wie man diese Technik verwendet, können Sie dies mit animierten Netzen tun.
quelle