Freies Voxel-Framework für Unity

Voxel und entsprechende Voxel-Engines sind spätestens seit Minecraft in aller Munde. Mit Voxelmetric gibt es nun auch ein freies Voxel-Framework für die Spielentwicklungsumgebung Unity. Das Framework bietet dabei eine Unterstützung für Terrain (auch unendlich weites Terrain), Ambient Occlusion, Threading und Pathfinding und versteht sich als Lösung um schnell mit Voxeln arbeiten zu können.

Die offizielle Webseite des Projektes

Die offizielle Webseite des Projektes

Zu finden ist das Framework neben GitHub auch auf der offiziellen Seite. Lizenziert ist Voxelmetric unter der Apache-Lizenz und damit freie Software. Auf der Seite des Projektes sind eine Reihe von Tutorials für den schnellen Einstieg zu finden.

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.

Unity nun auch zur Miete

Die Unity Engine hat in den letzten Jahren enorm an Beliebtheit gewonnen. Das dürfte nicht zu letzte an den kostenlosen Grundversionen gelegen haben. Daneben gibt es auch die Pro Variante welche mit knapp 1200 € zu Buche schlägt.

Die Unity Subskriptionsseite

Die Unity Subskriptionsseite

Wer sich das auf Schlag nicht leisten kann, hat nun die Möglichkeit Unity Pro für $ 75 respektive 57 € im Monat zu abonnieren. Auch die Pro-Versionen der Plugins für iOS, Android und Co. können dabei auch abonniert werden. Das ganze schlägt dann mit zusätzlichen $ 75 pro Plugin und Monat zu Buche. Zu finden ist die neue Subskriptionsseite unter https://store.unity3d.com/products/subscription. Die Mindestlaufzeit für ein Abo beträgt dabei 12 Monate.

Kerbal Space Program

Ab und an findet man im Netz Spiele bei denen man sich fragt, warum man sie erst jetzt entdeckt hat. Eines dieser Spiele ist „Kerbal Space Program“. In dem Spiel geht es darum ein eigenes Raumfahrtprogramm aufzubauen. Das fängt damit an das die Rakete zusammen gebaut werden muss, samt allem was man für das entsprechende Reiseziel benötigt.

Eine Rakete beim Start

Eine Rakete beim Start

Technisch basiert das ganze auf der Unity Engine. Bedingt dadurch läuft es auf Linux, Mac OS X und Windows. Die aktuelle Version trägt die Nummer 0.20.2 und das Spiel befindet sich immer noch im Alpha Stadium ist aber trotzdem spielbar, so das man viele Stunden damit verbringen kann. Dabei wird man immer wieder feststellen das es nicht einfach ist eine Rakete zu bauen die ihr Ziel auch erreicht. Ja es ist „Rocket Science“ ;)

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=j3RjAvloASI

Neben den bereits vorhandenen Features, sind viele weitere geplant. So soll es neue Planeten geben und die Physikengine soll eklatante Verbesserungen erfahren. Auch an einem Ausbildungscenter für die Kerbonauten und einer Forschungsabteilung wird gearbeitet. Rund um das Spiel hat sich mittlerweile eine aktive Moddingszene gebildet, dessen Werke im SpacePort zu sehen sind. Bezogen werden kann das Spiel unter https://kerbalspaceprogram.com/ – das Spiel schlägt dabei mit $ 23 zu Buche.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Kerbal_Space_Program

Unity und Android und das aktuelle SDK

Seit ein paar Tagen ist es möglich mit den frei verfügbaren Unity Versionen auch Android und iOS Builds zu bauen. Wenn man nun also anfängt und das aktuelle Android SDK herunterlädt und anschließend versucht in Unity einen Android Build zu erzeugen wird man feststellen, das dass ganze nicht funktioniert. Stattdessen bekommt man für einen kurzen Moment die Meldung:

Error building Player: Exception: android (invokation failed)

zu sehen. Der Grund für diesen Fehler ist dabei recht simpel. Unity arbeitet im Moment noch nicht mit der aktuellen SDK Version (r22) von Android zusammen. Hier muss auf die ältere r21 Version umgestiegen werden, damit Unity funktioniert. Diese gibt es für Linux, Mac OS X und Windows.