Das Unity-Buch
eBook - ePub
Verfügbar bis 21 Sep |Weitere Informationen

Das Unity-Buch

2D- und 3D-Spiele entwickeln mit Unity 5

  1. 512 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub
Verfügbar bis 21 Sep |Weitere Informationen

Das Unity-Buch

2D- und 3D-Spiele entwickeln mit Unity 5

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Möchten Sie eigene Spiele entwickeln? Fürs Web, den Desktop oder für Smartphones und Tablets? In 2D, 3D oder gar Virtual Reality? Mit der beliebten Game Engine "Unity 5" ist das keine Zauberei.Unity-Kenner Jashan Chittesh nimmt Sie in seinem Buch virtuell an die Hand und führt Sie durch Unity und den gesamten Prozess der Spieleentwicklung. Sie brauchen nur grundlegende Programmierkenntnisse mitbringen, und schon geht es los.Anschaulich und praxisorientiert lernen Sie, wie Sie: • 2D-Spiele entwickeln mit Sprites, 2D-Animation, 2D-Physik und Parallax Scrolling• Schritt für Schritt ein anspruchsvolles 3D-Spiel programmieren• 3D-Spiele Virtual-Reality-tauglich machen, für Oculus Rift und Co.Dabei setzen Sie zahlreiche Techniken und Tricks ein, die eindrucksvolle Spiele ermöglichen, u.a.: • Materialien und Shader, inkl. physikbasiertes Shading (neu in Unity 5)• Audio und Effekte mit dem neuen Unity Audio Mixer• animierte Benutzerschnittstellen mit dem neuen Unity UI (ehemals uGUI)• einfache Splitscreen-Multiplayer-Funktionalitäten• Systematisch Fehler suchen, finden und beheben• Drawcalls und Batches verstehen, Performance optimieren• Projekte und Szenen ordentlich aufbauen, den Überblick behaltenÜber Unity hinaus lernen Sie die grundlegenden Konzepte und Arbeitsweisen der Spieleentwicklung kennen und erfahren, welche weiteren Tools hilfreich sind, z.B. für Grafik, 3D, Audio und Versionsverwaltung.Nach der Lektüre sind Sie mit den wichtigsten Fähigkeiten von Unity 5 vertraut. Sie können sie kreativ nutzen, um eigene Spielideen umzusetzen und auf verschiedenen Zielplattformen zu veröffentlichen.Auf der Website zum Buch finden Sie die kompletten Beispielprojekte mit Code, Aktualisierungen und eine Vielzahl weiterführenden Links. Außerdem: Über zwei Stunden Videotutorials und ein eigenes Forum, in dem der Autor Fragen zum Buch und zu Unity beantwortet.

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu Das Unity-Buch von Jashan Chittesh im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatik & Programmierung von Spielen. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Verlag
dpunkt
Jahr
2015
ISBN
9783864916809

1 Über Unity

Unity wird üblicherweise als Game-Engine (deutsch Spiel-Engine) bezeichnet, und das ist auch korrekt. Beschreibender wäre aber Entwicklungswerkzeug zur Erstellung von 2D- und 3D-Spielen und -Anwendungen für eine Vielzahl unterschiedlicher Zielplattformen einschließlich Virtual-Reality-Umgebungen. Streng genommen umfasst die Game-Engine an sich vor allem die einzelnen für Spiele notwendigen Systeme (wie Grafik, Physik, Audio, Steuerung und Skripting) sowie teilweise auch weiterführende Systeme, beispielsweise Netzwerkunterstützung oder auch das Speichern von Spielständen. Bis auf Letzteres (das Speichern von Spielständen) hat Unity das auch alles mit dabei. Wenn Sie mit Unity arbeiten, sehen Sie aber meistens den Unity Editor, also ein Autorensystem, das es erlaubt, alle für ein Spiel notwendigen Teile in Szenen zusammenzusetzen und damit ein komplettes Spiel zu erschaffen oder eben auch eine interaktive Anwendung. Denn Unity wird keineswegs nur zum Entwickeln von Spielen verwendet.

1.1 Unbegrenzte Möglichkeiten: ganz einfach!

Auch wenn Unity selbst inzwischen sowohl unter Windows als auch unter Mac OS X verwendet werden kann, merkt man ihm seine Mac-Ursprünge noch deutlich an:1 Die Benutzeroberfläche ist sehr einfach gehalten und zeigt dem Anwender meistens genau das, was er braucht. So findet man auch als neuer Anwender schnell den Einstieg. Die Komplexität der zugrunde liegenden Technologien bleibt dezent im Hintergrund verborgen. Fortgeschrittene Anwender haben dennoch Zugriff auf vieles, was »unter der Motorhaube« verborgen ist.
Surface Shader erleichtern die Shader-Programmierung
Ein schönes Beispiel hierfür sind die sogenannten Shader: kleine Programme, die auf der Grafikkarte ablaufen und dafür verantwortlich sind, dass die 3D-Modelle so auf dem Bildschirm erscheinen, wie der Spieler sie zu sehen bekommt. Unity bietet seit jeher eine große Auswahl vorgefertiger, spezialisierter Shader an, mit denen bereits eine Vielzahl von typischen Fällen abgedeckt ist. In vielen Fällen reicht das.
Man kann in Unity aber auch eigene Shader verwenden: Sämtliche Shader stehen auch im Quellcode zur Verfügung, können also als Grundlage für eigene Entdeckungsreisen und Experimente dienen. Fortgeschrittene Anwender können diese Shader also anpassen oder ihre ganz eigenen Shader programmieren.
Doch damit nicht genug: In Unity 3 wurden sogenannte Surface-Shader eingeführt. Somit muss der Shader-Programmierer sich in den meisten Fällen nur noch um die Besonderheiten in der Darstellung kümmern, während beispielsweise der Shader-Code für verschiedene Arten von Lichtquellen und Renderpfade2 automatisch von Unity generiert wird. Natürlich steht es dem Anwender auch frei, seine ganz eigenen Algorithmen zu entwerfen – wenn er das möchte.
Seit Unity 5 bietet die Game-Engine auch zwei universelle, physikbasierte Shader3, die auf intuitive Art und Weise für unterschiedlichste Materialien verwendet werden können – egal ob das nun Metall, Plastik, Holz oder Stoff ist. Im Hintergrund erzeugt Unity dafür automatisch unterschiedlichste Shader, die nur genau das können, was für das konkrete Material benötigt wird. Mit dieser Komplexität muss sich der Anwender aber nicht beschäftigen, wenn er das nicht möchte.
Man hat also zwei universell einsetzbare Shader, die in vielen Fällen ausreichen. Wenn nicht, hat man eine Vielzahl spezifischer Shader zur Auswahl. Reicht auch das nicht, kann man Surface Shader programmieren, bei denen man sich auf das Wesentliche konzentrieren kann und nicht selbst dafür sorgen muss, dass der Shader auch mit allen Beleuchtungsmodi und Renderpfaden klarkommt. Aber wenn man sich auch darum selbst kümmern möchte, kann man seine Shader auch komplett selbst schreiben und hat damit die volle Freiheit, die volle Kontrolle, aber auch die volle Verantwortung.
Unitys flüssige Asset Pipeline ist Gold wert
Besonderes Augenmerk verdient die sogenannte Asset Pipeline in Unity: Bei der Spielentwicklung hat man es mit einer Vielzahl unterschiedlicher sogenannter Assets zu tun. Assets sind im Prinzip einfach alle Dateien, die in einem Spiel oder einer interaktiven 3D-Anwendung verwendet werden: 3D-Modelle, Texturen, Audiodateien und nicht zuletzt Scripts (also Programmcode). Häufig müssen diese Assets speziell für die jeweilige Game-Engine aufbereitet werden. Teilweise müssen Programmierer erst entsprechende Routinen entwickeln, um Dateien – beispielsweise aus Blender4 – in ein Spiel einzubinden. Jedes Mal, wenn eine eingebundene Datei verändert wird, muss die Datei zuerst wieder in das entsprechende Format übertragen und das Spiel neu kompiliert werden, um schließlich nach längerer Wartezeit die Änderung im Spiel zu sehen und prüfen zu können. Aufgrund des komplexen, mehrstufigen Prozesses spricht man auch heute noch von einer (Asset) Pipeline.
Bei Unity funktioniert das anders: Wir ziehen unsere Assets einfach in das Projekt und klicken auf Play. Fertig. Ändern wir die Datei mit der jeweiligen Anwendung, in der diese Datei erstellt wurde, erkennt Unity diese Änderungen, sobald das Fenster wieder den Fokus hat – sogar während das Spiel im Editor läuft.5 Das nimmt im wahrsten Sinne des Wortes den »Schmerz aus der Spielentwicklung«.6 Ebenso können wir in Unity während des Spielens im Editor sämtliche Spielparameter ändern – sodass man sein Spiel in weiten Teilen buchstäblich »spielend« entwickelt.
Einfach, aber unbeschränkt
Trotz dieser Einfachheit ist Unity ausgesprochen flexibel: So gab es beispielsweise auch schon früher viele Anwender, die Unity zur Entwicklung von 2D-Spielen verwendet haben, auch wenn das Werkzeug ursprünglich zur Entwicklung von 3D-Spielen gedacht war. Seit Unity 4.3 bietet die Game-Engine auch explizite 2D-Unterstützung mit Sprites und 2D-Physik. Vor allem legt Unity aber kein spezifisches Spielgenre fest: Ob man nun beispielsweise ein Rennspiel, eine Flugsimulation, ein Knobel-Puzzle, ein Rollenspiel oder einen First-Person-Shooter (FPS) entwickeln möchte – die Entwicklungsumgebung unterstützt die Kreativität des Anwenders, ohne ihn durch eine Spezialisierung auf einzelne Genres in den Möglichkeiten einzuschränken. Das zeigt sich auch darin, dass mit Unity nicht nur Spiele entwickelt werden.

1.2 Zielplattformen: viele!

Eine weitere Besonderheit von Unity ist, dass eine Vielzahl von Zielplattformen unterstützt wird. So ist es möglich, aus einem einzigen Spielprojekt heraus Versionen für Linux, Apples Mac OS X und Microsoft-Windows-Betriebssysteme zu erzeugen, einschließlich Windows Store Apps. Ebenso ist es mit dem gleichen Projekt möglich, sogenannte Web Player zu erstellen, die mit einem Plug-in für alle gängigen Webbrowser ebenfalls unter Mac OS X und Windows lauffähig sind. Für moderne Browser kann Unity WebGL-Versionen Ihres Spiels erstellen, die dann auch ohne Plug-in-Installation funktionieren, auch unter Linux. Somit können Sie Unity-Spiele direkt in Webseiten einbinden und sehr einfach einer riesigen Anzahl potenzieller Spieler zur Verfügung stellen.
Mobile Geräte
Mit Unity iOS, Unity Android, Unity Windows Phone 8 und Unity Blackberry 10 kann auch praktisch der komplette mobile Spielemarkt angesprochen werden. Die Entwicklung für mobile Plattformen ist ein komplexes Thema, und es würde den Rahmen des vorliegenden Buches sprengen, es im Detail zu beschreiben. Dennoch werde ich Ihnen an einigen Stellen Tipps geben, um mögliche Hindernisse aus dem Weg zu räumen, falls Ihr eigenes Spiel auch auf mobilen Endgeräten laufen soll. Durch die rasante Entwicklung immer leistungsfähigerer mobiler Hardware wird auch der Aufwand, ein Spiel für Smartphones anzupassen, immer geringer und reduziert sich mehr und mehr auf die elegante Nutzung alternativer Eingabe- und Steuerungsmöglichkeiten.
Eine Plattform für sich: Virtual Reality
Ein alter Traum vieler Spielentwickler, der nun nach Jahrzehnten der Wartezeit endlich wahr zu werden scheint, ist Virtual Reality. Mit dem Oculus Rift gibt es zumindest ein Head-Mounted Display, das nicht nur finanziell erschwinglich ist, sondern bereits mit den heute verfügbaren Prototypen ein beeindruckendes Maß an sogenannter Immersion (etwa: Eintauchen in virtuelle Realität) ermöglicht. Zudem wird es bereits von Unity als Zielplattform voll unterstützt. Auch das Thema Virtual Reality könnte für sich ein ganzes Buch füllen. Sie werden aber zumindest in Abschnitt 9.5 lernen, wie man Builds für die Oculus Rift erstellt und Spiele für diese Plattform einer entsprechenden Spielerschaft zugänglich machen kann. In Kapitel 18 wagen wir einen kleinen Einstieg in diese ganz neue Dimension von Spielerfahrung.
Auch Sony hat bereits ein Virtual-Reality-System unter dem Arbeitstitel Project Morpheus in der Entwicklung, das neben Oculus Rift eine sehr interessante Zielplattform für Virtual-Reality-Anwendungen werden dürfte. Unity Technologies hat auch dafür bereits Unterstützung angekündigt7, was uns direkt zur gewissermaßen klassischen Plattform für Spiele führt: den Konsolen.
Totgesagte leben länger: Konsolen
Schließlich kann Unity auch Builds für Konsolen wie Nintendo Wii und Wii U, Microsoft Xbox360 und Xbox One sowie Sony PlayStation 3, 4 und Vita erstellen. Somit können Sie Ihre Unity-Projekte also auch für Konsolen anbieten. Dabei ist allerdings zu beachten, dass hierzu oft die Teilnahme an entsprechenden Entwicklerprogrammen notwendig ist, die teilweise sowohl finanziell als auch mit ihren Teilnahmebedingungen selektive Anforderungen an die Entwickler stellen.8 Dafür sind die entsprechenden Unity-Lizenzen bei manchen Entwicklerprogrammen bereits enthalten. Es entstehen dann also keine weiteren Kosten. Auf Besonderheiten bei der Entwicklung für Konsolen wird im vorliegenden Buch jedoch nicht näher eingegangen.

1.3 Entwicklungsplattformen: Mac und Windows

Auch bei den Plattformen, auf denen die Entwicklungsumgebung selbst läuft, ist Unity flexibel: Seit der Version 2.5 gibt es auch eine Version für Windows. Somit kommen sowohl Mac- als auch Windows-User gleichermaßen in den Genuss, mit Unity zu arbeiten. Eine Einschränkung aufgrund von Apple-Bestimmungen gibt es bei der iOS-Entwicklung: Da nur mit Xcode entwickelte Programme im AppStore zugelassen sind, war für die Entwicklung von Spielen für iPod, iPad und iPhone ein Mac notwendig. Diese Einschränkung ist mit Unity Cloud Build9 bereits Geschichte.
Link auf unity-buch.de
Ebenso erfordert die Entwicklung von Windows Store Apps und für Windows Phone 8, dass auf dem Rechner Visual Studio installiert ist – hier braucht man also auf jeden Fall Windows. Im Moment sind Builds für diese Zielplattform mit Unity Cloud Build noch nicht explizit angekündigt. Es ist aber immerhin angekündigt, dass mit der Zeit weitere Zielplattformen unterstützt werden sollen.

1.4 Unter der Motorhaube: Bekannte Technologien

Unity integriert eine Vielzahl bekannter Technologien und Bibliotheken. Dies erspart es nicht nur den Entwicklern von Unity, das »Rad neu zu erfinden«, sondern vereinfacht den Einstieg in Unity auch für Anwender, die mit diesen Technologien bereits vertraut sind.
Link auf unity-buch.de
Scripting in Unity basiert auf dem Mono-Framework. Somit steht Entwicklern neben der Unity-spezifischen API10 zur Spielentwicklung eine mächtige, ausgereifte Bibliothek zur Verfügung, die weitgehend dem. NET-Framework von Microsoft entspricht. Als Programmiersprachen werden bei Unity C#, JavaScript (eigentlich handelt es sich um eine Sprache namens UnityScript) sowie Boo11 (eine auf Python basierende Programmiersprache) unterstützt.
Im Folgenden erwähne ich einige weitere Technologien beispielhaft, die Unity intern verwendet. Angenehmerweise ist zum Arbeiten mit Unity ein tieferes Verständnis dieser Technologien oft nicht erforderlich, da sie weitgehend hinter einer einfachen, leicht zu erlernenden Benutzerschnittstelle versteckt s...

Inhaltsverzeichnis

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort
  5. Inhaltsverzeichnis
  6. 1 Über Unity
  7. 2 Ein erstes einfaches 2D-Mini-Spiel
  8. 3 Unser Projekt: Traces of Illumination
  9. 4 Der erste Prototyp
  10. 5 Die Spielentwicklung vorbereiten
  11. 6 Den Prototyp fertigstellen
  12. 7 Projekt-Polishing – Iteration 1
  13. 8 Veröffentlichung vorbereiten
  14. 9 Aus dem Editor zu den Spielern
  15. 10 Project Polishing – Iteration 2
  16. 11 Unsere GUI aufhübschen
  17. 12 Beleuchtung mit Erleuchtung: Enlighten
  18. 13 Project Polishing – Iteration 3
  19. 14 Ein minimales Multiplayer-Spiel
  20. 15 Terrain Engine: Eine Landschaft bauen
  21. 16 Durch die Landschaft laufen
  22. 17 Durch die Landschaft fahren
  23. 18 Eine neue Dimension: Virtual Reality
  24. 19 Enter the Endgame
  25. 20 Glossar
  26. Stichwortverzeichnis
  27. Fußnoten