TMX-Support unter Unity 3D

Seit vielen Jahren gibt es unter mapeditor.org den freien Karteneditor Tiled zum Download. Mittlerweile hat sich der hauptsächlich von Thorbjørn Lindeijer entwickelte Editor zum besten kachelbasierten Editor auf dem Markt gemausert. Auf der Wiki zum Editor, gibt es eine Seite welche die Unterstützung des TMX-Dateiformates, welches Tiled für die Speicherung der Karten nutzt, in anderen Sprachen und Entwicklungsumgebungen aufzählt.

Eine einfache Karte unter Tiled

Eine einfache Karte unter Tiled

In diesem Artikel möchte ich auf die TMX-Unterstützung in Unity 3D eingehen und die einzelnen Frameworks behandeln. Unity 3D als solches bringt keinerlei Unterstützung für das TMX-Format mit. Mit Orthello Pro gibt es ein 2D-Framework für Unity welches das TMX-Format in Form seiner TileMap-Komponente unterstützt. Im Prinzip funktioniert diese Unterstützung ohne weitere Probleme – allerdings gibt es einige Kleinigkeiten, welche mich an dieser Variante stören. So sind die Kollisionen unsauber, das bedeutet das man Objekte z.B. von der Seite betreten kann, obwohl sie mit Kollisionen ausgestattet sind (an dieser Stelle kann es natürlich sein, das ich den Fehler zu vertreten habe, ich lasse mich gerne vom Gegenteil überzeugen). Daneben wird Orthello in letzter Zeit nicht mehr so aktiv gepflegt wie man sich dies von einem kommerziellen Produkt wünschen würde. Bei größeren Karten kommt außerdem das Problem dazu, das sobald man die Layer-Eigenschaften öffnet, Unity nicht mehr zu bedienen ist, da es durch die Darstellung jeder einzelnen Kacheleigenschaft überfordert ist.

Die TileMap Komponente von Orthello Pro

Die TileMap Komponente von Orthello Pro

Die nächste Lösung ist Tiled Tilemaps, welche unter dem Problem krankt, das Sie nicht mehr aktiv weiter entwickelt wird, und bedingt dadurch TMX-Dateien unter aktuellen Unity-Versionen nicht mehr geöffnet werden können. Bei der Tiled to Unity Komponente handelt es sich im engeren Sinne nicht um eine TMX-Unterstützung, sondern um ein Workflow-Tool um TMX-Karten in 3D-Welten umzuwandeln, weshalb es im Rahmen dieses Artikels nicht weiter behandelt wird.

Eine weitere Lösung ist Tiled2Unity, welche TMX-Dateien in Unity in ein Mesh exportiert und im Moment für Windows und Mac OS X funktioniert und aktiv weiterentwickelt wird.

Die letzte Lösung (welche hier besprochen werden soll) für TMX-Unterstützung unter Unity ist UniTMX bzw. da UniTMX seit zwei Jahren nicht mehr weiterentwickelt wird, dessen Fork X-UniTMX, bei welchem es sich um freie Software handelt. X-UniTMX wird mit einer Reihe von Beispielen geliefert und unterstützt unter anderen isometrische Karten. Damit wäre es im Moment meine erste Wahl für die TMX-Unterstützung unter Unity 3D.