Visual Studio unter Unity für macOS als Skripteditor nutzen

Standardmäßig nutzt Unity das eingebaute MonoDevelop, wenn es darum geht Quellcode zu bearbeiten. Ist allerdings auf dem Mac Visual Studio installiert, so kann dieses als primäre IDE genutzt werden. Dazu müssen die Preferences von Unity geöffnet werden.

Die Unity-Einstellungen

Dort findet sich der Punkt External Tools. In diesem Tab findet sich die Einstellung External Script Editor. Bei installiertem Visual Studio kann dieses eingestellt werden und wird damit in Zukunft von Unity genutzt.

Erste Schritte mit dem Tilemap-Editor unter Unity 2017.2

In der neuen Unity Version mit der Versionsnummer 2017.2, gibt es einige neue Features welche vor allem die 2D-Bearbeitung betreffen. Eines dieser Features ist der Tilemap-Editor. Mit diesem ist es möglich, ohne Drittwerkzeuge, direkt in Unity 2D-Karten zu erstellen. Zur Nutzung der Tilemap muss diese über den Menüpunkt GameObject -> 2D Object -> Tilemap hinzugefügt werden. Neben der Tilemap wird ebenfalls ein Grid hinzugefügt, in welchem sich die Tilemap befindet. Um nun Tiles zu zeichnen, muss unter Window die Tile Palette aktiviert werden.

Die leere Tile Palette

In der Tile Platte wird mittels Create New Palette ein neues Tileset erstellt. In das erstellte Tileset können nun die Tiles hineingezogen und angeordnet werden. Wird ein komplettes Tileset in Form einer Grafik hineingezogen, extrahiert der Prozess die einzelnen Tiles und speichert diese in eine gewählten Ordner. Dazu müssen die Sprites der Grafik vorher mit dem Sprite Editor definiert worden sein. Ist der Prozess des Importes komplett können die Tiles gezeichnet werden. Dazu wird die Tilemap ausgewählt und anschließend kann mit den Werkzeugen der Tile Palette auf dieser gezeichnet werden.

Ein neues Tileset wird erstellt

Versucht man auf der Tilemap auf einem bereits gezeichneten Bereich noch etwas zu zeichnen, so wird man feststellen, das damit die vorhandenen Tiles überschrieben werden. Dies ist z.B. dann der Fall, wenn man einen Baum auf eine grüne Grasfläche zeichnen möchte. Für einen solchen Fall wird eine weitere Ebene benötigt. Dazu wird das Grid selektiert und eine weitere Tilemap hinzugefügt. In diesem Zuge kann man die Namen der Tilemaps anpassen, damit sie die Bedeutung der Ebene wiedergeben (z.B. Ground und Fringe). In der Tile Palette muss als aktive Tilemap die neue Tilemap ausgewählt werden. Wenn man nun Tiles zeichnet, wird man feststellen, dass diese nicht zu sehen sind. Der Grund hierfür ist im Tilemap Renderer zu finden. In diesem ist die Reihenfolge für die Darstellung der Tilemap innerhalb des Sorting Layers definiert. Nachdem unter dem Punkt Order in Layer der Fringe-Layer mit einer 1 versehen wurde, sind die gezeichneten Dinge in dieser Ebene sichtbar.

Pro Ebene wird eine neue Tilemap angelegt

Möchte man auf einer Tilemap Kollisionen nutzen, muss zur Tilemap ein Tilemap Collider 2d hinzugefügt werden. Dabei wird jedes Objekt innerhalb der Tilemap mit einem Collider versehen. Damit sind die ersten Schritte mit dem neuen Tilemap-Editor getan.

Unity Remote in Verbindung mit Unity nutzen

Mit Unity Remote, einer App für iOS und Android ist es möglich während der Entwicklung eines Spiels mittels Unity diese auf einem entsprechenden mobilen Endgerät zu testen.

Unity Remote 5
Preis: Kostenlos
Unity Remote 5
Preis: Kostenlos

Die Einrichtung ist dabei einfach. Im ersten Schritt muss das mobile Endgerät mit einem USB-Kabel mit dem Rechner verbunden werden. Auf dem Endgerät muss natürlich die Unity Remote App im Vordergrund arbeiten.

Unity Remote 4 mit den Inhalten des Spieles

Unity Remote 4 mit den Inhalten des Spieles

Ist dies gegeben, kann im Unity-Editor unter Edit -> Project Settings -> Editor das entsprechende Fenster geöffnet werden. In diesem Fenster wird unter Device das passende Gerät ausgewählt und anschließend wird der Inhalt auf das mobile Endgerät gestreamt und die Eingaben werden wieder zurück zum Unity-Editor gestreamt. Damit bekommt man während der Entwicklung einen Eindruck vom Verhalten des Spieles auf den entsprechenden Endgeräten ohne viel Aufwand betreiben zu müssen.

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.