Wie importiere ich Blender 3D Animation auf iPhone OpenGL ES?

8

Ich versuche Animationen mit OpenGL ES auf dem iPhone zu machen. Ich bin in der Lage, die Animation in Blender 3D-Software zu tun. Ich kann als .obj Datei von Blender nach OpenGL exportieren und es funktioniert auf dem iPhone.

Aber ich kann meine Animation nicht von Blender 3D nach OpenGL exportieren. Kann mir bitte jemand helfen, das zu lösen?

    
quint 23.01.2010, 09:11
quelle

5 Antworten

1

Wenn Sie diesen Artikel von Jeff LaMarche finden Sie ein Blender-Skript, das ein 3D-Modell in eine C-Header-Datei ausgeben wird. Es gibt auch einen Folgeartikel , der das oben genannte Skript verbessert .

Nachdem Sie das Skript ausgeführt haben, ist es so einfach, den Header in Ihre Quelle einzufügen und das Scheitelpunkt-Array durch Ihre Zeichenfunktion zu übergeben. Im Idealfall möchten Sie eine Methode zum Laden beliebiger Modelldateien zur Laufzeit, aber für das Prototyping ist diese Methode am einfachsten zu implementieren.

Da Sie bereits eine Methode zum Importieren von Modellen (obj) haben, trifft das oben Genannte möglicherweise nicht zu. Der Vorteil der Verwendung eines Blender-Skripts besteht jedoch darin, dass Sie das Skript dann an Ihre eigenen Bedürfnisse anpassen können, wobei Sie möglicherweise auch Knocheninformationen oder Modell-Keyframes exportieren.

    
Ian Nafiri 26.10.2010 21:42
quelle
1

Zunächst einmal würde ich .obj zu diesem Zweck nicht empfehlen, da das obj-Dateiformat keine Animation unterstützt, sondern nur statische 3D-Modelle. Daher müssen Sie die Animationsdaten als separate Datei exportieren, die Sie gleichzeitig mit dem Objekt laden.

Welches Dateiformat ich empfehlen würde, hängt davon ab, was genau Ihre Animationen sind. Ich erinnere mich nicht von Anfang an, welche Dateiformate Blender unterstützt, aber wenn ich mich erinnere, exportiert nicht Collada-Dateien mit Animation, was die allgemeinste Empfehlung wäre. Andere Optionen wären md2 für Charakteranimationen oder 3ds für einfache "rigide Objekte, die sich bewegen" -Animationen. Ich denke, dass Blenders FBX-Export funktioniert, obwohl dieses Dateiformat für Ihre Bedürfnisse zu kompliziert sein könnte.

Wenn Sie sagen, dass Sie nur einfache starre Objektbewegungen benötigen, können Sie .obj für die 3D-Modellformen verwenden und dann ein einfaches Python-Skript schreiben, um eine Datei aus Blender zu exportieren, die an den Keyframes aufgelistet ist. Position und Drehung für jeden Keyframe. Laden Sie dann diese Daten in Ihren Code und geben Sie diese Keyframes auf dem 3D-Modell wieder.

    
jhocking 13.06.2011 22:03
quelle
1

Dies ist eine alte Frage und seitdem wurden einige neue iOS-Frameworks wie GLKit veröffentlicht. Ich empfehle Ihnen, so viel wie möglich auf sie zu setzen, wenn Sie können, da sie sich um viele inhärente Konversionen wie diese kümmern, obwohl ich die Einzelheiten nicht erforscht habe. Auch wenn die neue Scene-Graph-Technologie für OS X (die wahrscheinlich bald auf iOS erscheint) nicht auf iOS kommt, nimmt sie all dies ein bisschen weiter und eine schlaue Person könnte einige Konvertierungen mit diesem Tool durchführen und dann die Ausgabe nehmen nach iOS.

    
Bill Abrams 07.10.2013 11:33
quelle
0

Sehen Sie sich auch SIO2 an.

    
George Profenza 02.06.2010 11:29
quelle
0

Ich habe keine neuen Versionen von Blender verwendet, aber nach meinem Verständnis unterstützt es das Exportieren von Mesh-Animationen als eine Folge von OBJ-Dateien. Wenn Sie in Ihrer App bereits eine einzelne OBJ-Datei anzeigen können, erreichen Sie durch die Anzeige mehrerer OBJ-Dateien nacheinander, was Sie möchten.

Beachten Sie, dass dies nicht die effizienteste Form zum Exportieren dieser Art von Animation ist, da jede .obj-Datei viele duplizierte Informationen enthält. Wenn Ihr Mesh im Zeitverlauf fixiert bleibt (d. H. Nur die Scheitelpunkte bewegen sich mit der Polygon-Struktur, uv-Coords usw. alles fest), dann können Sie einfach die gesamte erste .obj importieren und vom Rest nur das Vertex-Array lesen.

Wenn Sie dies noch mehr optimieren möchten, können Sie die Vertex-Arrays so komprimieren, dass Sie nur die Unterschiede zum vorherigen Bild der Animation speichern.

Bearbeiten : Ich sehe, dass Blender 2.59 nach COLLADA exportiert wurde. Nach dem Mischpulthandbuch können Sie Objekttransformationen exportieren, Außerdem können Sie gebackene Animationen für manipulierte Objekte exportieren. Der Vorteil für Sie, wenn Sie das COLLADA-Format in Ihrer iPhone-App unterstützen, ist, dass Sie zwischen den Animationswerkzeugen wechseln können, da die meisten dieses Format exportieren.

    
Miguel 15.10.2011 18:55
quelle

Tags und Links