Dieser Artikel wurde maschinell übersetzt.

Cross-Plattform

Cross-Plattform-Spieleentwicklung mit Visual Studio -Tools für die Einheit

Adam Tuliper

Ich habe einige interessante Dinge in mein Ausflug in die Spielentwicklung bemerkt. Ein Freund erstellt eine Android-Spiel, dass vor kurzem hit Nr. 1 auf der Google-Play-Store. Ich habe einige andere Freunde bei einer anderen Indie-game-Firma, die einen Spitzenplatz auf iOS erreicht haben. Ich weiß noch einen anderen, der mehr als 500.000 Spieler auf ein Windows-speichern-Spiel hat. Sie alle haben etwas gemeinsam unabhängig von der Plattform, die, der Sie für erstellen: Nutzen sie alle Einheit unter Windows um ihre Spiele zu entwickeln. (Das ist die Einheit der game-Engine, nicht die Abhängigkeits-Injektion-Paket von Microsoft.)

Einheit auf Windows-Konten für eine satte 88,6 Prozent der Einheit Projekte, weit über OS X (stats.unity3d.com). Ich finde, dass Stat Recht interessant, weil Einheit die beliebtesten Spiele Cross-Plattform-Entwicklung-Middleware ist. Auf der mobilen Seite iOS nimmt rund 26 Prozent der Kategorie Nutzung mobile Plattform mit Android mit 71 Prozent noch Einheit unter Windows zieht die größte Zahl von Entwicklern, demonstrieren Windows ist immer noch die Nr. 1 Plattform, auf der Entwickler Code möchten.

Visual Studio Werkzeuge für Einheit (VSTU) ein Software-Paket ist (früher UnityVS genannt) erhalten, dass Microsoft durch den Erwerb von SyntaxTree im Jahr 2014. Dieses Produkt benutzt, um ungefähr $100 und zulässige Einheit-Entwickler verwenden Visual Studio nicht nur Kosten Bearbeiten von Code, sondern auch um Code zu debuggen. Warum ist das eine große Sache? Zuerst, da Microsoft dies groß gemacht haben freien Tool 100 Prozent. Zweitens wird es aktiv durch das SyntaxTree-Team entwickelt, das Microsoft angeschlossen. Drittens ist es groß, weil ich den vertrauten Code Editor/Debugger verwenden können, um meine Spiele zu entwickeln. Sobald Visual Studio 2015 Vorschau Bits veröffentlicht wurden, erschien das Update zu VSTU, sowie Unterstützung.

In der Einheit, für jede Code zugewiesen gewünschte, GameObject einfach fügen Sie eine Skriptkomponente hinzu. Um diesen Code zu bearbeiten, doppelklicken Sie auf es. Einheit dann MonoDevelop wird standardmäßig geöffnet, (die mit der Einheit installiert) zum Bearbeiten und Debuggen von Code. Für mich gibt es ein wenig Reibung hier, wenn Sie auf diese Weise zu entwickeln. Ich denke das MonoDevelop-Projekt hat eine große Arbeit geleistet, aber Visual Studio ist ein Full-featured-Werkzeug. Ich möchte mithilfe von Visual Studio schreiben und Debuggen von Code, wie ich den letzten 18 Jahren haben. Zuvor in der Einheit, können einem beliebigen Editor (z. B. Visual Studio, Sublime und So weiter), Ihre Einheit-Code zu bearbeiten, aber Sie konnte nicht Debuggen des Codes von Visual Studio. Das heißt, Sie Bearbeiten von Code im Visual Studio und wechseln Sie wieder in MonoDevelop Debuggen oder drop Debug.Log Anweisungen überall, was nicht die produktivste Möglichkeit zum Debuggen.

Viele Leser des MSDN Magazine sind Unternehmensentwickler. Viele sprechen ich um für eine lange Zeit zum Schreiben Spiele, vor allem nachdem XNA den Weg des Dodo ging gefragt haben. Für die Leute, ich habe vor kurzem einer vierteiligen Reihe für das Magazin auf Spielentwicklung mit Einheit (msdn.microsoft.com/magazine/dn759441), neues Publikum zu helfen lassen Sie sich die Erfahrung der Spieleentwicklung unter Windows mit Einheit vorstellen. Die meisten Entwickler in Unternehmen, die ich kenne Visual Studio bei der Arbeit verwenden, sondern können es zu Hause für Spielentwicklung verwenden, da ihre Organisation dem Lizenznehmer ist. MonoDevelop funktioniert in diesem Fall, aber es nicht die Visual Studio -Erfahrung zur Verfügung. Microsoft hat kürzlich Visual Studio Community Edition, eine kostenlose Version praktisch dasselbe wie Visual Studio Professional. Es ist genial für kleine Teams oder einzelne Entwickler, denn es kostenlos ist und VSTU läuft. Gekoppelt mit der kostenlosen Version der Einheit, haben Sie ein völlig kostenlos multiplatform Spielentwicklung-System mit Einheit und Visual Studio. Für diejenigen, die Fragen über Visual Studio Express unterstützt dieses Produkt-Plug-ins, nicht so VSTU nicht darin ausgeführt werden kann. Es gibt keine zukünftigen Versionen von Visual Studio Express geplant, da Visual Studio Community Edition die Zukunft ist – und eine große Zukunft, es ist.

Warum verwenden Sie VSTU?

Wenn Sie tolle Spiele mit Einheit und MonoDevelop entwickelt haben, warum würden Sie etwas anderes verwenden? Was gibt VSTU zusätzlich zu MonoDevelop? IntelliSense ist besser. Die Codeformatierung funktioniert besser. Sie können Plug-ins wie ReSharper umgestalten und Ihren Code zu verbessern. Wenn Sie Visual Studiosind gewöhnt, werden Sie sicherlich verwendet, um im Projektmappen-Explorer, über welche Mono­Develop hat eine eingeschränkte Version, aber die nicht fast die gleiche Erfahrung bieten . Gibt es eine besser Debuggen Erfahrung durch das Ausgabefenster in Visual Studio, als auch, so Sie das Ergebnis von Befehlen wie Debug.Log sehen können, ohne zurück wechseln und weiter zur Einheit um die Ausgabe anzuzeigen, wie gewohnt. VSTU verbessert der Debugvorgang auch durch die Bereitstellung besser Visualisierungen für Auflistungen, z. B. Listen, Wörterbücher und Hashtable häufig verwendet (in der Einheit). Einheit enthält Funktionen für eine eigene SerializedProperty, die Ihre benutzerdefinierten Editor-Erweiterungen zum Lesen Werte im Eigenschafteninspektor ermöglicht. Diese Art zeigt, wie mit VSTU erwartet, aber wenn in MonoDevelop visualisiert wird, spuckt es Linien und die Orientierung von Fehlern in der Einheit-Konsole.

Auch mit der Freigabe von Visual Studio 2015 Preview, es ist eine tolle neue Funktion hinzugefügt, um VSTU: Syntax-highlighting für Shader (siehe Abbildung 1). Während er eine enorme Produktivität Booster nicht betrachtet werden könnte, es ist wesentlich leichter auf die Augen, beim Schreiben von Shader, und es war ein Top-geforderte Feature auf der UserVoice-Website verwendet, um sammeln Feature-Vorschläge und Feedback. Wer hat verwendet moderne Tools mit Syntax-highlighting und mußte dann ohne ihn schnell entwickeln vermisst die Funktionalität, so dass viele von euch diese Version erfreuen wird.

neue Syntax-Highlighting für Shader in Visual Studio 2015-Vorschau
Abbildung 1 neue Syntax-Highlighting für Shader in Visual Studio 2015-Vorschau

Wie alle funktioniert?

Bevor Sie weiter erkunden neue Funktionen, werde ich erläutern, wie die "Magie" hinter dem Tool funktioniert. Einheit enthält eine virtuelle Umgebung innerhalb dessen Herausgeber, die von einem weichen Debugger gesteuert wird. Beim Debuggen eines Spiels sind nicht Unity.exe, das Debuggen wie zu erwarten, weil Sie aus Visual Studioeinen Debugger an einen Prozess anhängen können. Stattdessen sind Sie über einen Port für die Einheit und dann senden von Befehlen an den weichen Einheit-Debugger ausgeführt innerhalb des Editors verbinden. Im Lieferumfang von MonoDevelop ist einer MonoDevelop.Debugger.Soft-Bibliothek, die im binäre Format verwendet, zurück an den weichen Einheit-Debugger zu sprechen versteht. Einheit fügt einen einfachen Wrapper dieser Bibliothek um benutzerdefinierte Aktionen zu unterstützen und verteilt, die mit MonoDevelop, siehe Abbildung 2. Das plug-in kann Einheit zu starten oder schließen Sie einfach über einen Port, an den weichen Debugger zu sprechen (um den Code zu überprüfen, siehe das GitHub-Projekt bei bit.ly/1zY6K2a). Die guten Leute, die an VSTU arbeiten geschrieben haben wiederum eine Erweiterung für Visual Studio , die diese Bibliothek auch verwendet (siehe Abbildung 3). Es ermöglicht Ihnen, nicht nur Visual Studio in all seinen Code-Bearbeitung, Umgestaltung, Syntaxhervorhebung und IntelliSense Ruhm zu verwenden, sondern auch Einheit Debug code mithilfe der Debuggen Sie, in Visual StudioErfahrung – und es funktioniert besser als was in der Standard-Einheit-Distribution integriert ist.

die Einheit-Plug-in für das Debuggen von MonoDeveloper
Abbildung 2 die Einheit-Plug-in für das Debuggen von MonoDeveloper

die Microsoft Visual Studio -Tools für Einheit-Erweiterung in Visual Studio 2015-Vorschau
Abbildung 3 die Microsoft Visual Studio -Tools für Einheit-Erweiterung in Visual Studio 2015-Vorschau

Einheit erstellt eigene csproj-Dateien, die Mono-Kompilierung zu verwalten und einige andere csproj-Dateien für Visual Studio hinzufügen, wenn Sie als Redakteur nur Visual Studio verwenden möchten. Ich deckte ein wenig dieser Einheit-Architektur im ersten Artikel meiner Einheit-Serie in diesem Jahr. VSTU erstellt eine eigene Versionen der csproj Dateien, wie in dargestellt Abbildung 4. Es mag wie es kann, werden viele csproj Dateien verwalten, aber die Details werden hinter den Kulissen behandelt, sodass Sie nicht mit ihnen abgeben müssen. Die üblichen F5 Debuggen in MonoDevelop funktioniert nicht immer. Einheit wird immer eine eigene Zusammenstellung auf Ihren Code tun, aber dabei eine F5, um Debuggen in MonoDevelop, es wird eine weitere Zusammenstellung auf die Binärdateien und möglicherweise Fehler heraus auf einigen Syntax dieser Einheit eigentlich nicht verstand, und somit nicht zu debuggen. Jedes Mal, wenn Sie anfangen, in MonoDevelop zu debuggen, müssen Sie den Unity.exe-Prozess anfügen (die wiederum an den Anschluss für das Debuggen verbindet). Dies unterscheidet sich von der "drücken Sie F5, um Debuggen" Du bist in Visual Studiogewohnt gewachsen. Ich habe auch eingesperrt Einheit durchaus ein paar Mal bei der Verwendung von MonoDevelop um zu debuggen, etwas, das ein Problem mit VSTU unter Windows nicht gewesen.

Visual Studio -Tools für die Einheit erstellt eigene Versionen der csproj Dateien
Abbildung 4- Visual Studio -Tools für die Einheit erstellt eigene Versionen der csproj Dateien

Verwendung von VSTU

VSTU ist einfach zu bedienen, aber es garantiert eine kurze Erläuterung der Unity Editor, weil es abweichen könnte, was Sie erwarten mit so etwas wie eine Visual Studio -Erweiterung im Vergleich. Eine Visual Studio -Erweiterung kann nur einmal installiert werden und dann für jedes einzelne Projekt aktiv wie bei VSTU. Die Einheit-Umwelt ist extrem skriptfähig mit c#, die leistungsstarke erschwert, aber für jedes Projekt die Funktionalität im gewünschten, die Architektur erfordert Sie importieren Sie die erforderlichen VSTU Paket. Dies ist ein einmaliger Vorgang für jedes Projekt. Wählen Sie das VSTU-Paket aus Vermögenswerten/Import Paket, siehe Abbildung 5. Das das Paket dekomprimiert und teilt Ihnen die Dateien importiert werden sollen. Das war’s.

der Visual Studio Tools in Einheit für Einheit-Paket importieren
Abbildung 5 der Visual Studio Tools in Einheit für Einheit-Paket importieren

Sie können auch eine .unitypackage-Datei in die Einheit mit einem Doppelklick installieren, also für VSTU, Sie könnte auch einfach doppelklicken Sie aufVisual Studio 2015 Tools.unitypackage" Datei in Ihr Dateisystem. Einmal installiert, Code bearbeiten Sie einfach doppelt auf eine Skriptdatei in Einheit und öffnet sich im Visual Studio mit VSTU aktiv. Sie dürfen nicht vergessen, das VSTU-Paket in das Unity-Projekt zu installieren, oder Visual Studio zeigt einen mehrdeutigen Fehler, der Sie ein wenig verwirrt verlassen könnte. Es ist auch erwähnenswert, dass wenn den Code Kompilieren nicht, wenn Sie versuchen, es zum ersten Mal öffnen, die Visual Studio -Projekte generieren nicht, und daher kein Projekt in lädt Visual Studio, so dass Sie die gleiche mehrdeutige Fehlermeldung erhalten. Dies geschieht auch in der Einheit mit Ihren Projekten MonoDevelop – sie generieren nur nicht, wenn der Code zunächst einen Fehler vor der erstmaligen Projekt Generation verfügt (wieder passiert, die hinter der Szenen). Dies sind nur ein paar Dinge, die ich erlebt die beachtet werden sollten.

Mac-Nutzung

Du Mac-User da draußen? Da Visual Studio läuft auf Windows und nicht OS X, die andere wie etwa tun verbessern 11 Prozent der Entwickler, die nicht mit Windows ihre Entwicklungserfahrung mit Unity? Sie können Ausführen von Windows in einer virtuellen Maschine (VM) und Ordner freigeben, sodass Sie zum Debuggen von hin und her wechseln können. Es ist aber auch ein wenig Reibung mit dieser Methode. Es gibt ein besserer Weg. Da VSTU über einen Port zu einer Einheit verbindet, technisch möglich computerübergreifende Entwicklung. Mit Virtualisierungs-Software wie Parallels und VMware auf einem Mac können Sie Software von Ihren Gast VM ausführen und haben es in Ihrem Host-OS-Desktop auftauchen, so wie er es nativ in einem Fenster ausgeführt wurde. Das bedeutet, dass Visual Studio nur auf dem OS X-Desktop ausführen können wie jede andere OS X-Anwendung und verbinden mit Einheit, die auf Ihrem Mac zum Debuggen von Windows ausgeführt wird. Ja, das ist ziemlich cool.

Der Cross-Plattform-Ansatz

Wir Leben zweifellos in eine tolle Zeit für mehrere Plattformen app Entwicklung. Manchmal anfühlt, aber diese app Dev Landschaft wir leben in einem einzigen Land mit vielen verschiedenen Währungen, und einige Anbieter nehmen einige und nicht anders und jeder spricht eine andere Sprache. Es gibt so viele verschiedene Werkzeuge, Plattformen und Geräten, Sie könnte für das Leben lernen sie alle beschäftigen. Bei Microsoft haben wir eng zusammen mit vielen Partnern, Cross-Plattform-Entwicklung für unsere Werkzeuge und Plattform für eine integrierte Lösung zu bringen. Ich kann ein Linux VM auf Microsoft Azure Hochdrehen. Kann ich Visual Studio Debuggen von Python-Skripten (auch remote ausführen in der Wolke) benutzen, und ich kann lesen, tolle Dokumentation auf microsoft.com zum Einrichten von Push-Benachrichtigungen auf einem iPhone Gerät. Darüber hinaus .NET ist jetzt open Source ASP.NET läuft auf Linux und OS X und Visual Studio hat einen Android Emulator. Ich sicherlich nicht vorhersehen können, diesen Tag, und ich glaube, ich sah nur ein Schwein von meinem Fenster außerhalb zu fliegen.

Einheit ist natürlich meine Lieblings-Cross-Plattform-Spiele-Entwicklung-Tool, obwohl ich eindrucksvolle Implementierungen von Geschäftsanwendungen mit erweiterten 3D-Funktionen gesehen habe, die in der Einheit geleistet haben . Einheit unterstützt 16 verschiedene Plattformen – ja, Sie haben richtig gelesen. Das ist sehr beeindruckend und du bist wahrscheinlich neugierig was macht, dass Anzahl, also bitteschön: iOS, Android (einschließlich Geräte wie OUYA), Windows, Windows-Store, BlackBerry, Windows Phone, OS X, Linux, Web (über Plug-ins vorher und jetzt HTML5/JavaScript/WebGL), PS3, PS4, PS Vita, PS Mobile, eine Xbox, Xbox 360 und WiiU.

Sie können auch mehrere große Möglichkeiten für die Entwicklung von Cross-Plattform-Anwendungen ausschließlich mit Visual Studio. Das Flaggschiff Microsoft IDE hat jetzt Integration mit Apache Cordova, so dass plattformübergreifende HTML-basierte Anwendungen (nicht Web-Sites — Dies sind die apps) von entwickelt werden, in ihrer vertrauten Umgebung. Sie können Debuggen diese Anwendungen in Visual Studio für Windows, Android und auch iOS. Ein Beispiel davon, check out the MSDN Library-Artikel "Run Ihre Apache Cordova App auf iOS," am bit.ly/1ycNUVD.

Im Bereich Cross-Plattform-Anwendung ist der führende Xamarin (sprich: Zam-a-Rin für diejenigen, die noch unsicher sind). Xamarin nicht Gaming-konzentriert, obwohl man damit auf jeden Fall Spiele erstellen können. Die Werkzeuge kann mit Visual Studio, als auch für ausgezeichnete Cross-Plattform-app Entwicklung, integrieren, die auch Sie eine Benutzeroberfläche für iOS und Android von innerhalb Visual Studio. Xamarin hat seit seiner Gründung Teil des ursprünglichen Mono-Teams, so dass Fachwissen das Unternehmen gute Dienste geleistet hat. Mono ist auch, welche Kompetenzen Ihre benutzerdefinierten Spiel Code und Erweiterbarkeit in Einheit — es hat einen unglaublich langen Weg zurückgelegt, seit ihrer Gründung im Jahr 2001.

Für die Liebhaber der C++ (Sie wissen, wer Sie sind), ich berührte kurz auf dem Android-Emulator früher und C++-Anwendungen unterstützt wird. Genau: Visual Studio jetzt können Sie eine native Android app über die Cross-Plattform erstellen | Native-Activity-Anwendungsvorlage. Dies ermöglicht Entwicklung und debugging von Android Code von Visual Studio beginnend mit Visual Studio 2015 Preview. Es war alles, was, die ich tun konnte, um nicht die gesamte letzte Zeile formatiert kursiv!

Zusammenfassung

Um zu überprüfen, hat Microsoft seine Cross-Plattform-Geschichte ergänzt wurde, seit einiger Zeit, aber jetzt ist es in Overdrive. VSTU ist natürlich kostenlos und geht schon durch einige große Updates; finden Sie eine Geschichte von ihnen an bit.ly/15pC1RN. Visual Studio Community Edition ist kostenlos. Microsoft ist bekannt für große Entwicklungstools und bekennt sich zu bringen die beste Entwicklung und Erfahrung, um Spiele-Entwickler mit Visual StudioDebuggen. Also sage ich allen: Verwenden Sie Einheit, auf Windows entwickeln Sie und Visual Studio für ein awesome-Entwicklung und debugging von Erfahrung.

Zusätzliche lernen


Adam Tuliper ist ein senior technical Evangelist bei Microsoft, die Leben im sonnigen Süd-Kalifornien. Er ist ein Indie-game Dev, co-Admin des Orange County Einheit Meetup und Verfasser von Pluralsight. Er und seine Frau sind zu haben ihr dritte Kind, also erreichen, um ihn, während er hat noch eine freie Minute am adamt@microsoft.com oder auf Twitter bei twitter.com/AdamTuliper.

Unser Dank gilt dem folgenden technischen Experten von Microsoft für die Durchsicht dieses Artikels: JB Evain