Wie lade ich 3D-Modelle in Java?


14

Mit LWJGL können Sie am einfachsten ein 3D-Modell laden, das auf dem Bildschirm gezeichnet werden soll.

Ich weiß, dass LWJGL keine eingebaute Ladeunterstützung hat, daher suche ich nach einer kleinen Bibliothek, die das Laden spezifischer .blend-Dateien erleichtert.

Antworten:


9

Meiner Meinung nach ist es am besten, einen eigenen Parser für .obj zu schreiben, der mit Blender oder Ihrer bevorzugten 3D-Modellierungssoftware exportiert wurde. Es wird wirklich nur maximal eine Stunde dauern und Sie müssen sich nicht um Vertriebs- / Lizenzprobleme kümmern. Hier ist ein Video zu dieser Frage: http://youtu.be/izKAvSV3qk0 .


4

Am einfachsten ist es, einen eigenen Loader zu erstellen, mit dem Sie beispielsweise OBJ- Dateien oder Ihr eigenes, für Ihr Spiel maßgeschneidertes Format laden können. Blender-Dateien bin ich mir jedoch nicht sicher.


6
Ist das nicht das Gegenteil von "einfachster Weg"? :-)
Notabene

2
+1 Ich finde es witzig, wie zur bestbewerteten Antwort (von Oskar) im Wesentlichen das Gleiche gesagt wird, aber man wird abgewertet. :)
Miguel

Leichtigkeit mag hier subjektiv sein, aber es ist mit Sicherheit der klügste Weg, dies zu tun. OBJ-Dateien haben eine einfache Struktur, und das Schreiben eines Lade- / Parsers für das Format ist im Vergleich zu anderen Formaten einfach. Wenn Sie bedenken, dass Sie die Quelle, aus der Ihre Modelle geladen werden, direkt steuern können, sollte dies auf lange Sicht einfacher sein, falls etwas Merkwürdiges passiert. Nicht einer Blackbox oder einem unbekannten Code ausgeliefert.
Nathan

3

Möglicherweise ist JAGaToo hilfreich. Es verfügt über Lader für MD2 / 3/5, OBJ und einige andere Modellformate.


0

Werfen Sie einen Blick auf jMonkeyEngine - es bietet Funktionen zum Laden von Modellen für viele verschiedene Modelldateien und basiert auf LWJGL, sodass Sie es möglicherweise an Ihre Bedürfnisse anpassen können.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.