Werbung

Ein überraschendes Merkmal der Internetwirtschaft ist der Aufstieg von Indie-Videospielen. Einst die exklusive Domäne von Tausend-Mann-, Multi-Millionen-Dollar-Triple-A-Studios, wurde eine Reihe von Toolsets entwickelt, die Geben Sie moderne Ressourcen für die Spieleentwicklung in die Hände von Einzelpersonen oder kleinen Ad-hoc-Sammlungen von Programmierern und Designern. Wir haben bereits die beste Indie-Spiele 10 Indie-Spiele So gut, dass Sie vergessen werden, dass sie überhaupt Indie sindEs kann jedoch vorkommen, dass Sie etwas anderes als die Indie-Norm wollen. Ein Spiel, das Indie-Werten folgt und dennoch mit der Qualität hergestellt wird, für die erstklassige AAA-Spiele bekannt sind. Titel wie ... Weiterlesen Schauen Sie sich diese an, um sich inspirieren zu lassen, was mit Tools wie Unity erreicht werden kann.

Dieser Leitfaden kann als kostenloses PDF heruntergeladen werden. Laden Sie jetzt das Programmieren eines Spiels mit Unity: A Beginner's Guide herunter. Fühlen Sie sich frei, dies zu kopieren und mit Ihren Freunden und Ihrer Familie zu teilen.
instagram viewer

Diese Indie-Spieleentwicklungsteams haben eine Agilität und Risikotoleranz bewiesen, die es ihnen in vielen Fällen ermöglicht, die Gameplay-Innovation schneller voranzutreiben als ihre Kollegen mit großem Budget. In den letzten Jahren wurden einige schockierend erfolgreiche Indie-Titel uraufgeführt, darunter Minecraft, Limbo, und super Fleischjungeund selbst wenn Sie keine Fähigkeiten benötigen, um solche Spiele zu erstellen, können Sie dies tun Erstelle ein Spiel mit Buildbox So erstellen Sie ein Videospiel in einer Woche mit BuildboxEs gibt ein Programm, das die Spieleentwicklung selbst für diejenigen unglaublich einfach macht, die absolut keine Erfahrung mit dem Entwerfen von Videospielen haben. Es heißt Buildbox. Hier ist, warum Sie es versuchen sollten. Weiterlesen .

In der sich schnell entwickelnden Landschaft der Entwicklung von Indie-Spielen Einheit hat sich als De-facto-Standard herausgestellt: Aufgrund seiner geringen Kosten, Benutzerfreundlichkeit und des breiten Funktionsumfangs ist es ideal für eine schnelle Spieleentwicklung. Die Einheit ist so flexibel, dass Sie es sogar können Erstelle deine eigenen Gamecontroller So erstellen Sie einen benutzerdefinierten Gamecontroller mit Arduino und UnityWollten Sie schon immer Ihren eigenen Gamecontroller entwerfen? Es ist einfacher als du denkst! Weiterlesen mit ein bisschen DIY-Know-how!

Auch große Studios wie CCP (Entwickler von Eve Online) verwenden Sie es für das schnelle Prototyping von Spielkonzepten. Unity bietet eine „Game Engine in a Box“ - eine Physik- und Rendering-Engine mit Hooks für mehrere Skriptsprachen, die an praktisch jedes Genre von Videospielen angepasst werden kann.

Während Unity einen visuellen Editor zum Bearbeiten der Spielumgebung bietet, ist Unity kein Tool zum Erstellen von Spielen ohne Programmierung. Sie müssen programmieren, um Ergebnisse zu erzielen, haben aber auch ein viel flexibleres und leistungsfähigeres Tool als jedes andere „Game Maker“ -Programm.

Unity erledigt die Arbeit nicht für Sie, senkt jedoch die Eintrittsbarriere erheblich. Wenn Sie mit C ++ und OpenGL völlig von vorne anfangen, kann es Tage dauern, bis der Punkt erreicht ist, an dem tatsächlich etwas auf dem Bildschirm gerendert wird. Bei Verwendung von Unity dauert es ungefähr zehn Sekunden. Unity gibt die grundlegenden Elemente der Spieleerstellung auf schnelle und intuitive Weise an unerfahrene Programmierer weiter.

Heute werde ich Sie durch alles führen, was Sie wissen müssen, um ein Spiel in Unity zu erstellen, das in zehn Hauptkapitel unterteilt ist:

§1 - Versionen der Einheit

§2 - Installieren von Unity

§3 - Eine kurze Einführung in das objektorientierte Paradigma

§4 - Grundlagen der Einheit

§5 - Beispiel: Grundelemente eines Spiels

§6 - Scripting in Unity

§7 - Beispiel: Scripting Pong

§8 - Erkunden der Dokumentation / Weitere Informationen

§9 - Erstellen Ihres Spiels / Kompilieren zu einer eigenständigen Anwendung

§10-Schlussbemerkungen

1. Versionen der Einheit

Unity gibt es in zwei Grundvarianten: der Pro-Version und der kostenlosen Version. Es gibt eine Anzahl der UnterschiedeIm Großen und Ganzen unterstützt die Pro-Version jedoch eine Reihe von visuellen Verbesserungen (wie z. B. weiche Schatten in Echtzeit und Nachbearbeitung) und eine große Anzahl relativ kleiner Funktionen, die für komplexere Funktionen äußerst hilfreich sind Spiele.

Für die meisten relativ einfachen Spiele, die Sie möglicherweise erstellen möchten, ist die kostenlose Version von Unity jedoch völlig ausreichend. Wir werden die wichtigsten Unterschiede im Folgenden für Interessenten detaillierter aufschlüsseln.

1.1 Preisgestaltung

Die kostenlose Version von Unity ist natürlich kostenlos. Es gibt jedoch einige Einschränkungen: Die kostenlose Version von Unity kann nicht an Unternehmen mit einem Jahreseinkommen von mehr als lizenziert werden $100,000. Obwohl solche Organisationen den Rahmen dieses Handbuchs sprengen, ist es wahrscheinlich ratsam, sich für die Pro-Version zu entscheiden, wenn Sie den Verdacht haben, eine solche Organisation zu werden.

Die Pro-Version von Unity ist $75 einen Monat oder $1500 für eine dauerhafte Lizenz und hat keine Grenzen, was Sie mit den damit erstellten Spielen tun können. Es gibt auch eine kostenlose 30-Tage-Testversion, die wir für dieses Handbuch verwenden werden, um Ihnen einen möglichst vollständigen Überblick über die verfügbaren Funktionen zu geben. Eine einjährige Studentenlizenz ist ebenfalls über erhältlich Studica zum $129.

1.2 Funktionen

In der kostenlosen Version von Unity fehlen viele Funktionen. Die wichtigsten Unterschiede sind jedoch folgende: Der kostenlosen Version von Unity fehlen eine Reihe von Rendering-Optionen, die dies ermöglichen besser aussehende, schneller laufende Spiele (LOD-Unterstützung, Nachbearbeitung des Bildschirmbereichs, erweiterte Shader, weiche Schatten in Echtzeit und verzögert Rendern). Es fehlt auch die volle mechanim Animationssystemund einige KI-Tools.

Im Allgemeinen lohnt sich die Pro-Version für komplexe Großprojekte oder Projekte, bei denen die grafische Leistung wichtig ist. Ich benutze die Pro-Version, weil ich Virtual-Reality-Spiele für die Oculus Rift Oculus Rift ReviewVirtuelle Realität ist nicht neu, aber endlich erschwinglich und in unserer Reichweite. Nach vier Jahren und zwei Entwicklungsprototypen ist die endgültige Consumer Edition des Oculus Rift eingetroffen. Weiterlesen Die Nachbearbeitungsunterstützung für den Bildschirmbereich ist erforderlich, um eine korrekte Interaktion mit dem Headset zu ermöglichen.

2. Unity installieren

Die Installation von Unity ist unkompliziert. Sie können die ausführbare Datei von herunterladen unit3d.com/get-unity/download.

Führen Sie es nach dem Herunterladen aus und befolgen Sie die Anweisungen des Installationsprogramms. Nach Abschluss der Installation wird ein Fenster mit dem Titel "Aktivieren Sie Ihre Unity-Lizenz" angezeigt. Aktivieren Sie das Kontrollkästchen "Aktivieren Sie eine kostenlose 30-Tage-Testversion von Unity Pro" und klicken Sie dann auf "OK".

Herzliche Glückwünsche! Sie haben jetzt eine 30-Tage-Testversion von Unity Pro. Wenn die Testversion abläuft und Sie die Pro-Version nicht kaufen möchten, können Sie zur kostenlosen Version wechseln und Ihre vorhandenen Inhalte beibehalten.

3. Eine kurze Einführung in das objektorientierte Paradigma

Bevor Sie mit Unity beginnen, ist es wichtig, dass wir uns ein wenig mit den Grundlagen befassen. Unity unterstützt beides C # und JavaScript zum Spielprogrammierung 7 Lernsprachen für die Entwicklung von Unity-Spielen: Welche ist die beste?Möchten Sie mit der Spieleentwicklung in Unity beginnen? Sie müssen mit einer dieser Unity-kompatiblen Sprachen vertraut sein. Weiterlesen ; Wir werden für dieses Tutorial mit C # arbeiten.

Wenn Sie noch nie zuvor programmiert haben, legen Sie dieses Tutorial beiseite und arbeiten Sie einige Tage lang an Microsoft C # Language Primer bis Sie sich wohl fühlen, wenn Sie die Sprache für einfache Aufgaben verwenden.

Wenn Sie etwas anderes als C # möchten (aber nicht unbedingt eine Sprache, die Sie in Unity verwenden können), lesen Sie unseren Leitfaden zu Sechs einfachste Programmiersprachen für Anfänger 6 Einfachste Programmiersprachen für AnfängerBeim Programmieren geht es ebenso darum, die richtige Sprache zu finden wie um den Erbauungsprozess. Hier sind die sechs einfachsten Programmiersprachen für Anfänger. Weiterlesen .

Wenn Sie zuvor in einer imperativen oder objektorientierten Sprache wie C oder Java programmiert haben, überfliegen Sie den Primer und machen Sie sich mit den Unterschieden zwischen C # und anderen Sprachen vertraut, die Sie in der Vergangenheit verwendet haben. Fahren Sie in beiden Fällen erst mit dem Lernprogramm fort, wenn Sie sich wohl fühlen, wenn Sie einfache Probleme mit C # lösen (z. B. wenn ich fragen würde Wenn Sie ein Programm schreiben möchten, das die ersten hundert Primzahlen druckt, sollten Sie in der Lage sein, dieses Programm ohne Rücksprache zu schreiben Google).

Das wichtigste Konzept, das hier zu verstehen ist, ist das objektorientiertes Paradigma Woher hat die "objektorientierte" Programmierung ihren Namen?Objektorientiert ist nicht nur ein zufälliges Schlagwort, das Sie in Programmierkreisen hören. Es gibt einen Grund für den Namen - aber was? Erforschen Sie mit mir einige der Grundlagen von Programmierkonzepten und erklären Sie ... Weiterlesen (abgekürzt als OOP). In objektorientierten Sprachen werden Programme in aufgerufene Funktionseinheiten unterteilt Objekte. Jedes Objekt hat seine eigenen privaten Variablen und Funktionen. Objektspezifische Funktionen werden aufgerufen Methoden.

Die Idee hier ist Modularität: indem jedes Objekt isoliert wird und andere Objekte gezwungen werden, mit ihm zu interagieren Durch seine Methoden können Sie die Anzahl möglicher unbeabsichtigter Interaktionen reduzieren - und im weiteren Sinne Fehler. Sie können auch Objekte erstellen, die Sie später ohne Änderungen wiederverwenden können. In Unity erstellen Sie diese Objekte und hängen sie an Spieleinheiten (deren Verhalten sie regieren werden).

Objekte werden von instanziiert Klassen: Eine Klasse ist nur eine Datei, die die Definition Ihres Objekts enthält. Also, wenn Sie eine wollen Mook Wenn Sie in Ihrem Spiel die KI für einen Feind handhaben, schreiben Sie eine "Mook" -Klasse und hängen diese Datei dann an jede feindliche Entität an. Wenn Sie Ihr Spiel ausführen, wird jeder Feind mit einer Kopie des Mook-Objekts ausgestattet.

Das Anhängen eines neuen Skripts an ein Objekt sieht folgendermaßen aus:

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 1

Zuerst, Wählen Sie das Objekt aus und geh zum Inspektor. Klicke auf das Komponente hinzufügen Taste.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 2

Gehe zu neues SkriptGeben Sie den gewünschten Namen ein und klicken Sie auf erstellen und hinzufügen.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 3

Jetzt haben Sie ein neues Skript, das Sie durch Doppelklick bearbeiten können!

Eine Klassendatei sieht ungefähr so ​​aus:

mit UnityEngine; öffentliche Klasse Mook: MonoBehaviour {private Float-Gesundheit; void Start () {health = 100; } void Update () {if (health> 0) {/ * Suche nach einem Spieler, wenn du dem Spieler auf der Straße begegnest, töte ihn, wenn du erschossen wirst, entferne eine zufällige Menge an Gesundheit * /}} }

Lassen Sie uns das zusammenfassen:

  • Verwenden von UnityEngine: Diese Zeile teilt C # mit, dass wir die Unity-Bibliotheken verwenden möchten, mit denen wir eine Verbindung zur Unity-Spiel-Engine herstellen können.
  • Öffentliche Klasse Mook: MonoBehaviour:Diese Zeile deklariert die Klasse und ihren Namen - Mook.
  • Private Float Gesundheit: Dies deklariert eine private Klassenvariable (die nur innerhalb der Klasse geändert werden kann). Die Variable erhält einen Wert in Anfang.
  • Void Start (): Dies deklariert eine aufgerufene Methode Anfang. Start ist eine spezielle Methode, die nur einmal ausgeführt wird, wenn das Spiel zum ersten Mal gestartet wird.
  • Void Update (): Update ist eine weitere spezielle Methode, die auf jedem Frame ausgeführt wird. Der größte Teil Ihrer Spielelogik wird hier abgelegt.
  • // Wenn du den Spieler auf der Straße triffst, töte ihn: Diese Zeile ist ein Kommentar (jede Zeile, die mit einem doppelten Schrägstrich beginnt, wird von C # ignoriert). Kommentare werden verwendet, um sich daran zu erinnern, was bestimmte Codebits tun. In diesem Fall wird dieser Kommentar verwendet, um für einen komplizierteren Codeblock einzutreten, der tatsächlich das tut, was der Kommentar beschreibt.

Zusammen mit Anfang und Aktualisierenkönnen Sie Ihre eigenen Methoden mit fast jedem Namen instanziieren. Von Ihnen erstellte Methoden werden jedoch nur ausgeführt, wenn sie aufgerufen werden. Deklarieren wir eine Methode für eine hypothetische Klasse namens addTwoNumbers das addiert zwei Zahlen zusammen:

public float addTwoNumbers (float a, float b) {return a + b; }

Dies deklariert eine öffentliche Methode (für andere Objekte zugänglich), die einen Float mit dem Namen return zurückgibt addTwoNumbers, die zwei Floats als Eingabe verwendet (aufgerufen ein und b). Es gibt dann die Summe der beiden Werte als Ausgabe zurück.

Aufruf dieser Methode aus derselben Klasse (z. B. von innen) Aktualisieren) sieht aus wie das:

float result = addTwoNumbers (1, 2);

Das Aufrufen der Methode aus einer anderen Klasse ist ähnlich:

addTwoNumbers Instanz; float result = instance.addTwoNumbers (1, 2);

Dies erstellt wiederum nur eine Instanz unserer Klasse, greift auf die entsprechende Methode zu und gibt ihr die Zahlen, die wir hinzufügen möchten, und speichert dann das Ergebnis in Ergebnis. Einfach.

Wenn Ihr Skript an ein Objekt angehängt ist, das über spezielle Eigenschaften verfügt (z. B. einen Partikelemitter), auf das nicht zugegriffen werden kann Unter den normalen GameObject-Parametern können Sie festlegen, dass es mit einer anderen Art von Spieleinheit behandelt werden soll das GetComponent Methode.

Die Syntax dafür sieht folgendermaßen aus:

GetComponent().Abspielen();

Wenn Ihnen dies nicht bekannt ist, gehen Sie zurück und gehen Sie den C # -Primer durch. Das erspart Ihnen viel Frust, wenn wir fortfahren.

4. Grundlagen der Einheit

In diesem Abschnitt werden wir uns durch die grundlegenden Mechanismen der Unity-Engine arbeiten. Der Workflow in Unity sieht ungefähr so ​​aus:

  1. Erstellen Sie eine Entität, die eine Rolle im Spiel spielt (leer) GameObjects kann für abstrakte logische Aufgaben verwendet werden).
  2. Schreiben oder suchen Sie eine Klassendatei und fügen Sie sie der Entität als Skript hinzu (mithilfe von Komponente hinzufügen Schaltfläche in der Inspektor Aussicht.
  3. Lauf > Prüfung > debuggen > wiederholen bis es funktioniert und fahren Sie mit dem nächsten Element des Spiels fort.

Unity verfügt über eine Reihe grundlegender Ansichtsregisterkarten, die nach Geschmack des Benutzers auf verschiedene Arten angeordnet werden können. Die großen fünf sind:

  1. Spiel: Zeigt eine laufende Instanz des Spiels an, mit der Sie interagieren und testen können.
  2. Szene: bietet eine statische, bearbeitbare Version des Spielewelt.
  3. Inspektor: Mit dieser Option können Sie einzelne Objekte in der Spielwelt ändern, indem Sie sie im auswählen Editor Tab.
  4. Projekt: Ermöglicht das Durchsuchen der Projektdateien und das Ziehen von Modellen, Materialien und anderen Ressourcen in das Projekt Editor Tab, um sie in der Spielwelt zu platzieren.
  5. Hierarchie: Diese Registerkarte zeigt alle Objekte auf der Welt an, sodass Sie entfernte Objekte in der Szene und übergeordnete Objekte durch Klicken und Ziehen zueinander finden können.

In der folgenden Abbildung finden Sie die Positionen all dieser Dinge:

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 0

4.1 Einheitseinheiten

4.1.1 Maschen

Maschen sind der Weg 3D-Geometrie ist in der Einheit vertreten. Sie können entweder das integrierte Unity verwenden Primitive Objekte (Würfel, Kugeln, Zylinder usw.) oder importieren Sie Ihre eigenen 3D-Modelle aus einem Modellierungspaket wie Mixer Erste Schritte mit Blender: 7 fantastische Tutorials für NeulingeDie 3D-Modellierung ist eine hervorragende Möglichkeit, Kreativität zu üben und gleichzeitig mit Ihrer technischen Seite in Kontakt zu bleiben. Hier sind einige tolle kostenlose Tutorials. Weiterlesen oder Maya Maya 2016 lernen: Erste SchritteMaya ist ein Werkzeug für 3D-Animationen, das jedoch eine unglaublich steile Lernkurve aufweist. Welches gute Unterrichtsmaterial gibt es? Weiterlesen . Unity unterstützt eine Vielzahl von 3D-Formaten, einschließlich .fbx, und .3ds.

Die grundlegenden Werkzeuge zum Bearbeiten von Netzen sind die Schaltflächen zum Skalieren, Drehen und Verschieben in der oberen linken Ecke der Benutzeroberfläche. Diese Schaltflächen fügen den Modellen in der Editoransicht Steuerungssymbole hinzu, mit denen sie dann im Raum bearbeitet werden können. Um die Textur- oder Physikeigenschaften eines Objekts zu ändern, wählen Sie sie aus und verwenden Sie die Inspektor Ansicht, um die zu analysieren Material und starrer Körper Elemente.

4.1.2 GUI-Elemente

Herkömmliche GUI-Sprites und -Text können mit der angezeigt werden GUI-Text und die GUI-Textur GameObjects im Editor. Eine robustere und realistischere Möglichkeit, mit UI-Elementen umzugehen, ist die Verwendung von 3D-Text und Quad GameObjects (mit transparenten Texturen und einem nicht beleuchteten transparenten Shader) zum Platzieren von HUD-Elementen in der Spielwelt als Entitäten.

In dem Hierarchie In dieser Ansicht können diese Gameplay-Elemente auf die Hauptkamera gezogen werden, um sie zu Kindern zu machen. So wird sichergestellt, dass sie sich mit der Kamera bewegen und drehen.

Die Größe und Skalierung von GUI-Elementen (Text und Texturen) kann mithilfe der entsprechenden Felder auf der Registerkarte "Inspektor" angepasst werden.

4.1.3 Materialien

Materialien sind Kombinationen von Texturen und Shader Fünf wichtige PC-Gaming-Begriffe erklärtWenn Sie ein Spiel auf einer Konsole spielen, werden die technischen Details für Sie behandelt. Einige Spieler bevorzugen dies, aber PC-Spieler genießen oft die größere Kontrolle, die sie über das Auge eines Spiels haben ... Weiterlesen und kann von der Registerkarte "Projekt" direkt auf Spielobjekte gezogen werden. Unity Pro enthält eine große Anzahl von Shadern. Sie können die mit ihnen verknüpfte Textur über die Registerkarte "Inspektor" für ein Objekt anpassen, auf das sie angewendet werden.

Um eine Textur zu importieren, konvertieren Sie sie in a .jpg, .png, oder .bmpund ziehen Sie es in die Vermögenswerte Ordner unter dem Unity-Projektverzeichnis (das in angezeigt wird Meine Dokumente standardmäßig). Nach einigen Sekunden wird im Editor eine Ladeleiste angezeigt. Wenn es fertig ist, können Sie das Bild als Textur unter dem Bild finden Projekt Tab.

4.1.5 Lichter

Lichter sind GameObjects welche strahlen auf die Welt. Wenn Ihre Szene keine Lichter enthält, werden alle Polygone mit derselben Helligkeit gezeichnet, wodurch die Welt flach und verwaschen aussieht.

Lichter können positioniert, gedreht und mit mehreren internen Eigenschaften versehen werden, die Sie anpassen können. Das Intensität Schieberegler steuert die Helligkeit des Lichts und die Angebot steuert, wie schnell es ausgeblendet wird.

Die Richtlinien in der Szenenansicht Zeigen Sie die maximale Reichweite der Beleuchtung. Spielen Sie mit beiden Einstellungen, um den gewünschten Effekt zu erzielen. Sie können auch die Farbe des Lichts, das Muster (Plätzchen wird auf der Oberfläche angezeigt, auf die das Licht gerichtet ist, und welche Art von Streulicht erscheint auf dem Bildschirm, wenn Sie direkt auf das Licht schauen. Mit dem Cookie können realistischere Lichtmuster gefälscht, dramatische falsche Schatten erzeugt und Projektoren simuliert werden.

Die drei Hauptarten von Licht sind Stelle, Punkt, und gerichtet.

Scheinwerfer einen Standort im 3D-Raum haben und Licht nur in einer Richtung in einem Kegel mit variablem Winkel projizieren. Diese eignen sich gut für Taschenlampen und Suchscheinwerfer und bieten im Allgemeinen eine genauere Steuerung der Beleuchtung. Scheinwerfer können Schatten werfen.

Punktlichter einen Standort im 3D-Raum haben und das Licht gleichmäßig in alle Richtungen werfen. Punktlichter werfen keine Schatten.

RichtungslichterSchließlich werden sie verwendet, um Sonnenlicht zu simulieren: Sie projizieren Licht in eine Richtung, als ob es unendlich weit entfernt wäre. Richtungslichter wirken sich auf jedes Objekt in der Szene aus und können Schatten erzeugen.

4.1.6 Partikelsysteme

EIN Partikelsystem ist ein GameObject das erzeugt und steuert Hunderte oder Tausende von Partikeln gleichzeitig. Partikel sind kleine, optimierte 2D-Objekte, die im 3D-Raum angezeigt werden. Partikelsysteme verwenden vereinfachtes Rendering und Physik, können jedoch Tausende von Entitäten in Echtzeit anzeigen, ohne zu stottern. Dies macht sie ideal für Rauch, Feuer, Regen, Funken, magische Effekte und mehr.

Es gibt viele Parameter, die Sie anpassen können, um diese Effekte zu erzielen, und Sie können darauf zugreifen, indem Sie ein Partikelsystem unter dem erzeugen Komponenteneditor > Auswahl des Partikelsystems > Öffnen der Inspektorregisterkarte. Sie können die Größe, Geschwindigkeit, Richtung, Drehung, Farbe und Textur jedes Partikels ändern und die meisten dieser Parameter so einstellen, dass sie sich auch im Laufe der Zeit ändern.

Unter dem Kollision Attribut, wenn Sie es aktivieren und den Simulationsraum auf setzen Welt Sie erhalten Partikel, die mit Objekten auf der Welt kollidieren und für eine Reihe realistischer Partikeleffekte verwendet werden können, darunter Regen, fließendes Wasser und Funken.

5. Beispiel: Grundelemente eines Spiels

In diesem Tutorial machen wir ein einfaches Spiel aus Pong - etwas, das wir bereits mehrmals in DIY behandelt haben:

  • Arduino Classic Pong So erstellen Sie das klassische Pong-Spiel mit ArduinoPong war das erste Videospiel, das den Massenmarkt erreichte. Zum ersten Mal in der Geschichte wurde dank des Atari 2600 -... das Konzept eines "Videospiels" in das Haus der Familie gebracht. Weiterlesen
  • Arduino OLED Pong Arduino Retro Gaming mit einem OLED-DisplayHaben Sie sich jemals gefragt, wie viel Arbeit es kostet, Ihre eigenen Retro-Spiele zu schreiben? Wie einfach ist es, Pong für das Arduino zu codieren? Weiterlesen

In diesem Abschnitt werden wir uns mit der Anordnung der Kernelemente befassen. Das Skript-Tutorial wird später veröffentlicht.

Lassen Sie uns zunächst das Pong-Spiel in seine Grundkomponenten zerlegen. Zuerst brauchen wir zwei Paddel und einen Ball. Der Ball fliegt vom Bildschirm weg, daher möchten wir, dass ein Mechanismus ihn zurücksetzt. Wir möchten auch, dass Text die aktuelle Punktzahl anzeigt. Um Ihnen alle Kernelemente von Unity zu zeigen, möchten wir einen ausgefallenen Partikeleffekt, wenn Sie den Ball schlagen. Das ganze Spiel muss dramatisch beleuchtet werden.

Das zerfällt in a Ballobjekt (eine Kugel), a Spawner, zwei Paddelstützen mit Partikelemitter angehängt ein 3D-Text-Entität, und ein Scheinwerfer. Für dieses Tutorial verwenden wir das Standardmaterial prallenmit Bounce kombinieren einstellen multiplizieren. So sieht das Setup in zehn Screenshots aus:

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 4
Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 5

Erstellen Sie zunächst eine Würfelstütze für das Paddel.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 6

Skalieren Sie es entsprechend, dupliziere esund setzen a Kugel zwischen den Paddeln für den Ball.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 7

Erstellen Sie dann eine 3DText-Objekt und Rahmen und Position es richtig, ändern die Schriftgröße Attribut, um ein weniger pixeliges Bild zu erhalten.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 8

Als nächstes erstellen Sie zwei PartikelsystemeWählen Sie die gewünschten Eigenschaften aus und befestigen Sie sie an den Paddeln.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 9
Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 10

Als nächstes möchten Sie Positionieren und drehen Sie die Kamera damit es die Szene richtig einrahmt. Während die Kamera ausgewählt ist, sehen Sie in der unteren rechten Ecke eine kleine Vorschau der Kameraansicht.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 11

Bevor wir fertig sind, müssen wir zwei zusätzliche Würfel als Stoßstangen erstellen, um zu verhindern, dass der Ball aus dem Spielbereich springt. Wir können sie unsichtbar machen, indem wir das Kontrollkästchen deaktivieren Mesh-Renderer in dem Registerkarte Inspektor.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 13
Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 14

Wenn Sie auf "Spielen" klicken, können Sie jetzt die Grundelemente unseres Spiels sehen. Sie werden noch nichts tun, aber wir werden es schaffen!

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 12

Nachdem wir dieses Setup haben, werden wir darüber sprechen, was beim Erstellen dieser Spiele für die Erstellung eines Spiels erforderlich ist.

6. Scripting in Unity

Sobald Sie ein Skript an ein Objekt angehängt haben, können Sie es überarbeiten, indem Sie im Feld darauf doppelklicken Inspektor. Dies öffnet sich MonoDevelop, die Standardentwicklungsumgebung für Unity. Im Wesentlichen ist Monodevelop ein Texteditor mit Funktionen, die speziell für die Programmierung optimiert wurden.

Schlüsselwörter und Kommentare werden in hervorgehoben Blau und Grünund numerische Werte und Zeichenfolgen werden in angezeigt rot. Wenn Sie verwendet haben Finsternis oder anderen IDEs ist MonoDevelop sehr ähnlich. Du kannst bauen Ihre Skripte aus dem Editor heraus, um nach Syntaxfehlern zu suchen, wie folgt:

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 15

Um Ihr Skript für die Interaktion mit Unity zu aktivieren, müssen Sie im Allgemeinen auf Elemente verweisen, über die das Objekt verfügt, in dem sich das Skript befindet (eine Liste dieser Elemente finden Sie unter Inspektor Registerkarte, wenn das entsprechende Objekt ausgewählt ist). Sie können dann Methoden aufrufen oder Variablen für jedes dieser Elemente festlegen, um die gewünschten Änderungen vorzunehmen.

Wenn ein Skript für ein Objekt die Eigenschaften eines anderen Objekts beeinflussen soll, können Sie ein Leerzeichen erstellen GameObject Variable in Ihrem Skript, und verwenden Sie die Inspektor um es einem anderen Objekt in der Szene zuzuweisen.

Eine Liste der Elemente, die ein Objekt haben könnte, lautet wie folgt (aus der Inspektoransicht eines unserer Paddel im obigen Beispiel):

  1. Verwandeln
  2. Würfel (Netzfilter)
  3. Box Collider
  4. Mesh Renderer

Jeder dieser Aspekte des Objekts kann innerhalb eines Skripts beeinflusst werden. Als nächstes schauen wir uns genau an, wie.

6.1 Transformieren

Die Transformationsfunktionen für ein GameObject in Unity steuern die physikalischen Parameter dieses Objekts: its Rahmen, es ist Position, und sein Orientierung. Sie können über ein Skript wie das folgende darauf zugreifen:

transform.position = newPositionVector3; transform.rotation = newRotationQuaternion; transform.localScale = newScaleVector3;

In den obigen Beispielen sind die benannten Variablen von den in den Namen angegebenen Typen. Hier gibt es einige wichtige Details: Position und Skalierung werden erwartungsgemäß als gespeichert Vector3s. Sie können auf die zugreifen X., Y., und Z. Komponenten von jedem (zum Beispiel, transform.position.y gibt Ihnen den Abstand eines Objekts über der Null-Ebene an).

Allerdings zu vermeiden Kardanschloss, Rotationen werden behandelt als Quaternionen (Vierkomponentenvektoren). Da das Manipulieren von Quaternionen von Hand nicht intuitiv ist, können Sie Rotationen mithilfe von Euler-Winkeln mithilfe von ändern Quaternion. Euler Methode wie folgt:

transform.rotation = Quaternion. Euler (Pitch, Yaw, Roll);

Wenn Sie Objekte reibungslos von einem Ort zum anderen bewegen möchten, finden Sie die Slerp Methode für Quaternionen und Vektor3s hilfreich. Slerp nimmt drei Argumente auf - den aktuellen Zustand, den Endzustand und die Änderungsgeschwindigkeit - und interpoliert reibungslos mit der angegebenen Geschwindigkeit zwischen ihnen. Die Syntax sieht folgendermaßen aus:

transform.position = Vector3.Slerp (startPositionVector3, newDestinationVector3, 1);

6.2 Renderer

Mit den Rendererfunktionen in Unity können Sie steuern, wie die Oberflächen von Requisiten auf dem Bildschirm gerendert werden. Sie können die Textur neu zuweisen, die Farbe ändern sowie den Shader und die Sichtbarkeit des Objekts ändern. Die Syntax sieht folgendermaßen aus:

renderer.enabled = false; renderer.material.color = neue Farbe (0, 255, 0); renderer.material.mainTexture = myTexture; renderer.material.shader = newShader;

Die meisten davon haben ziemlich klare Funktionen. Das erste Beispiel macht das betreffende Objekt unsichtbar: ein nützlicher Trick in einer Reihe von Situationen. Das zweite Beispiel weist eine neue zu RGB-Farbe (nämlich grün) auf das betreffende Objekt. Die dritte weist einer neuen Texturvariablen die diffuse Haupttextur zu. Im letzten Beispiel wird der Shader des Objektmaterials in eine neu definierte Shader-Variable geändert.

6.3 Physik

Unity wird mit einer integrierten Physik-Engine geliefert - etwas, das Physik-Sandbox-Spiele Smash, Drive & Build: 3 fantastische Physik-Sandbox-Simulatoren Weiterlesen alle verwenden. Auf diese Weise können Sie die physikalischen Eigenschaften von Objekten zuweisen und die Details ihrer Simulation für Sie bearbeiten. Anstatt zu versuchen, Ihre eigene Physik mithilfe eines Lehrbuchs und des Transformationssystems zu implementieren, ist es im Allgemeinen einfacher und robuster, die Physik-Engine von Unity so weit wie möglich zu verwenden.

Alle Physik Requisiten benötigen Collider. Die eigentliche Simulation selbst wird jedoch von a übernommen starrer Körper, die in der hinzugefügt werden kann Inspektor Aussicht. Starre Körper können sein kinematisch oder nicht kinematisch.

Kinematische Physik-Requisiten kollidieren mit (und bewirken) nicht-kinematischen Physik-Requisiten um sie herum, sind jedoch von der Kollision selbst nicht betroffen. Statische kinematische Requisiten sind die sprichwörtlich unbeweglichen Objekte, und bewegte kinematische Objekte sind die sprichwörtliche unaufhaltsame Kraft (für die Aufzeichnung, wenn sie kollidieren, passieren sie einfach jede andere).

Darüber hinaus können Sie den Winkelwiderstand des Objekts anpassen (wie viel Energie es benötigt, um es zu drehen), seine Masse ändern, bestimmen, ob es von der Schwerkraft beeinflusst wird oder nicht, und Kräfte auf es ausüben.

Beispiele:

Rigidbody.angularDrag = 0.1f; Rigidbody.mass = 100; Rigidbody.isKinematic = false; Rigidbody.useGravity = true; starrer Körper. AddForce (transform.forward * 100);

Diese sind alle ziemlich selbsterklärend. Das einzige, was hier zu beachten ist, ist die Verwendung von transform.forward. Vector3 hat alle drei Komponenten (.nach vorne, .oben, und .richtig) mit ihnen verbunden, auf die zugegriffen werden kann und die sich mit ihnen drehen (nach vorne ist die Richtung des blauen Pfeils im Editor). Das transform.forward Das Schlüsselwort ist einfach der Vorwärtsvektor für das aktuelle Objekt mit der Größe 1. Es kann mit einem Float multipliziert werden, um mehr Kraft auf das Objekt auszuüben. Sie können auch referenzieren transform.up und transform.rightund negiere sie, um ihre Umkehrungen zu bekommen.

6.4 Kollision

Wenn Sie ein Spiel erstellen, möchten Sie häufig, dass eine Kollision zu einer Zustandsänderung in Ihrem Code führt, die über die reine Physiksimulation hinausgeht. Dafür benötigen Sie eine Kollisionserkennungsmethode.

Es ist ein gewisser Vorbereitungsaufwand erforderlich, um Kollisionen in Unity zu erkennen. Erstens benötigt mindestens eines der Objekte in der Kollision a nicht kinematischer starrer Körper angehängt an. Beide Objekte müssen korrekte Collider haben, die als Nicht-Trigger festgelegt sind. Die Gesamtgeschwindigkeit beider Objekte muss so niedrig sein, dass sie tatsächlich kollidieren, anstatt sich einfach gegenseitig zu überspringen.

Wenn Sie alles erledigt haben, können Sie nach Kollisionen suchen, indem Sie eine spezielle Kollisionserkennungsmethode in ein Skript einfügen, das an das Objekt angehängt ist, mit dem Sie die Kollision überprüfen möchten. Die Methode sieht folgendermaßen aus:

void OnCollisionEnter (Collision other) {// hier Dinge tun. }

Diese Methode wird automatisch während des ersten Frames ausgeführt, in dem ein anderes Objekt Ihr Objekt berührt. Die Kollisionsentität andere ist ein Verweis auf das Objekt, das Sie getroffen haben. Sie können zum Beispiel auf seine verweisen Spielobjekt, starrer Körper, und verwandeln Eigenschaften, um es auf verschiedene Arten zu manipulieren. Während OnCollisionEnter ist wahrscheinlich die häufigste Funktion, die Sie verwenden werden. Sie können sie auch verwenden OnCollisionExit und OnCollisionStay (mit ansonsten identischer Syntax und Verwendung), die während des ersten Frames, in dem Sie aufhören, mit einem Objekt zu kollidieren, bzw. während jedes Frames, in dem Sie mit einem Objekt kollidieren, aktiviert werden.

Manchmal kann es auch nützlich sein, das zu tun, was genannt wird Raycasting. Beim Raycasting wird eine unendlich dünne Linie (a Strahl) wird von einem bestimmten Ursprung entlang eines Vektors durch die Welt geworfen, und wenn es auf etwas trifft, werden die Position und andere Details der ersten Kollision zurückgegeben. Der Code für einen Raycast sieht folgendermaßen aus:

RaycastHit getroffen; if (Physik. Raycast (transform.position, -Vector3.up, out hit)) {float distanceToGround = hit.distance; }

Dies wirft einen Strahl von der Position des aktuellen Objekts entlang -Vector3.up (gerade nach unten) und verknüpft die Variable schlagen zum ersten Objekt, mit dem es kollidiert. Sobald Ihr Strahl etwas getroffen hat, können Sie darauf zugreifen hit.distance um festzustellen, wie weit es entfernt ist, oder schlagen. GameObject um das getroffene Objekt zu manipulieren.

Raycasts wie diese können für Schützen verwendet werden, um zu bestimmen, auf was die Waffe gerichtet ist, oder um Objekte auszuwählen, wenn die Kamera sie betrachtet, oder für bestimmte Arten von Bewegungsmechanikern.

6.5 Zeitkorrektur

Ein wichtiger Faktor, den Sie berücksichtigen sollten, wenn Sie Objekte auf diese Weise bearbeiten, hat damit zu tun Framerate. Unabhängig davon, wie sorgfältig Sie optimieren, variieren die Frameraten immer und Sie möchten nicht, dass sich Ihre Spielgeschwindigkeit entsprechend ändert. Wenn jemand anderes Ihr Spiel auf einem schnelleren Computer ausführt, als Sie es entwickelt haben, möchten Sie nicht, dass das Spiel mit doppelter Geschwindigkeit ausgeführt wird.

Sie korrigieren dies, indem Sie die verwendeten Werte mit der Zeit multiplizieren, die zum Rendern des letzten Frames benötigt wurde. Dies geschieht mit Time.deltaTime. Dadurch wird die Geschwindigkeit jeder Variablen, von der aus Sie jeden Frame inkrementieren, effektiv geändert Änderung pro Frame zu Änderung pro Sekundeund Sie sollten diese Änderung wahrscheinlich an einem Wert vornehmen, den Sie für jeden Frame erhöhen oder verringern.

6.6 Audioquellen und Hörer

Nachdem wir uns nun mit dem Erstellen, Rendern und Steuern von Objekten befasst haben, wollen wir uns mit dem anderen Sinn befassen, dem Computerspiele dienen können: nämlich Klang. Unity unterstützt zwei Arten von Sounds: 2D und 3D Geräusche. 3D-Sounds variieren ihre Lautstärke je nach Entfernung und verzerren sich, wenn sie sich relativ zur Kamera bewegen. 2D-Sounds nicht.

2D-Sounds eignen sich für Voice-Overs und Hintergrundmusik, und 3D-Sounds gelten für Sounds, die durch Ereignisse in der Welt erzeugt werden. Um zu ändern, ob ein Sound 3D ist oder nicht, wählen Sie ihn in der Projekt Ansicht, wechseln Sie zu Inspektor Zeigen Sie die entsprechende Option im Dropdown-Menü an und wählen Sie sie aus. Drücken Sie dann die Taste Wiedereinfuhr Taste.

Um den Sound tatsächlich abzuspielen, müssen Sie einen anhängen Audio quelle zu einer Requisite (die Requisite, von der der Sound stammen soll, im Fall eines 3D-Sounds). Dann müssen Sie das öffnen Audio clip Feld und wählen Sie Ihre Sounddatei.

Sie können verwenden myAudioSource. Pause() und myAudioSource. Abspielen() um diese Audiodateien zu steuern. Sie können das Abfallverhalten, die Lautstärke und die Doppler-Verschiebung der Sounds unter einstellen Inspektor Registerkarte für die Audioquelle.

6.7 Eingabe

Ein Spiel, das keine Eingaben vom Benutzer entgegennimmt, ist kein großes Spiel. Es gibt viele verschiedene Arten von Eingaben, die Sie einlesen können, und fast alle sind über das Internet zugänglich Eingang und KeyCode Objekte. Einige Beispiele für Eingabeanweisungen (deren Werte in jedem Frame ausgewertet werden) sind unten aufgeführt.

Vector3 mousePos = Input.mousePosition; bool isLeftClicking = Eingabe. GetMouseButton (0); bool isPressingSpace = Eingabe. GetKey (KeyCode. Platz);

Die Funktionen dieser Zeilen sind meist selbsterklärend. Mit diesen drei Arten von Eingabereferenzen können Sie die Steuerungsschemata der meisten modernen 3D-Computerspiele rekonstruieren.

6.8 Debuggen eines Skripts

Angenommen, ein Skript funktioniert nicht. Wie der gute Arzt sagt, können Ihnen Bangups und Hangups passieren. Wenn bei Ihrem C # regelrechte Syntaxfehler auftreten, wird das Spiel im Allgemeinen nicht ausgeführt, wenn Sie auf "Spielen" klicken, und es werden einige recht nützliche Fehlermeldungen angezeigt, wenn Sie dies tun bauen die Skripte aus dem Editor. Siehe unten:

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 16

Diese Fehler sind normalerweise nicht am schwierigsten zu beheben. Problematischer können subtile semantische Fehler sein, bei denen Sie erfolgreich eine Datei mit gültigem C # geschrieben haben - nur keine, die das tut, was Sie erwartet haben. Wenn Sie einen dieser Fehler haben und Probleme haben, ihn aufzuspüren, können Sie einige Dinge versuchen, um die Situation zu verbessern.

Die erste besteht darin, die Ausführung des Spiels anzuhalten und die Konsole zu überprüfen. Sie können das Spiel unterbrechen, indem Sie auf klicken Pause Symbol im oberen mittleren Bereich des Editors und dann auswählen Konsole von unten Fenster Menü (oder drücken Strg > Verschiebung > C.). Auch wenn keine Fehler vorliegen, können Warnungen helfen, Hinweise darauf zu geben, was möglicherweise schief geht.

Wenn dies nicht funktioniert, können Sie auch versuchen, sich ein Bild über den Status Ihres Skripts zu machen, indem Sie den Status der internen Variablen drucken, um zu überprüfen, ob das Programm das tut, was Sie denken, dass es tut. Sie können verwenden Debuggen. Protokoll (Zeichenfolge) um den Inhalt einer Zeichenfolge auf die Konsole zu drucken, wenn die Programmausführung diese Zeile erreicht. Im Allgemeinen, wenn Sie rückwärts von dem arbeiten, was Ihrer Meinung nach durch die Dinge geschehen sollte, die sein sollten Wenn Sie dies erreichen, werden Sie irgendwann einen Punkt erreichen, an dem Ihre Debug-Ausdrucke nicht mehr das tun, was Sie von ihnen erwarten machen. Hier liegt Ihr Fehler.

7. Beispiel: Scripting Pong

Um Pong zu bauen, zerlegen wir das Spiel in seine Kernelemente: Wir brauchen einen Ball, der beim Erhöhen zwischen den Paddeln hin und her prallt Geschwindigkeit, wir brauchen eine Anzeigetafel, die weiß, wann die Bälle die Paddel passiert haben, und wir brauchen einen Mechanismus, um den Ball dann neu zu starten das passiert. Ein guter erster Schritt wäre, dem Ball einen nicht kinematischen Starrkörper und dem Ball zwei kinematische Starrkörper hinzuzufügen Paddel, deaktivieren Sie die Schwerkraft für alle und weisen Sie ein geeignetes physisches Material aus den Standard-Assets zu (prallen mit Bounce kombinieren einstellen multiplizieren).

Unten können Sie das Skript für den Ball mit erklärenden Kommentaren anzeigen. Der Ball muss einige grundlegende Ziele erreichen: Er sollte in einem komplizierten Muster abprallen und immer beibehalten Bewegung auf beiden Achsen, und es sollte mit einem herausfordernden, aber nicht unmöglichen Tempo in der Horizontalen beschleunigen Richtung.

BallHandler.cs

Als nächstes müssen wir unser Paddel skripten, das Sie unten sehen können. Das Paddel muss sich als Reaktion auf Tastendruck auf und ab bewegen (jedoch nicht außerhalb bestimmter Grenzen). Es muss auch das Partikelsystem auslösen, wenn es mit etwas kollidiert.

PaddleHandler.cs

Als nächstes brauchen wir feindliche KI: etwas, das dazu führt, dass das Paddel des Feindes mit einer festen Geschwindigkeit auf den Ball zusteuert. Dafür verwenden wir Vector3.Slerp für maximale Einfachheit. Wir möchten auch das gleiche Partikelverhalten, das wir auf unserem eigenen Paddel sehen.

EnemyAI.cs

Schließlich benötigen wir ein Skript, um die Anzeigetafel zu aktualisieren und den Ball zurückzusetzen, wenn er außerhalb der Grenzen liegt.

ScoreboardUpdater.cs

Wenn diese Skripte beigefügt und die Referenzen ausgefüllt sind, erleben wir das Gameplay, wenn wir unser Pong-Spiel ausführen!

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 18

Du kannst Laden Sie meine Pong-Demo herunter, wenn Sie alles sehen möchten, was ich in Aktion beschrieben habe. Es läuft auf Windows-, Mac- und Linux-Systemen.

8. Dokumentation erkunden / Weitere Informationen

Unity ist eine komplexe Engine mit viel mehr Funktionen, als in einem Leitfaden dieses Stils behandelt werden könnte. und das ist, bevor Sie die breite Palette an (kostenlosen und kommerziellen) Unity-Erweiterungen einbeziehen, die auf der Website verfügbar sind Internet. Dieser Leitfaden bietet Ihnen einen guten Ausgangspunkt für die Entwicklung eines Spiels, aber Selbstbildung ist eine wichtige Fähigkeit bei jedem Unterfangen, und das doppelt hier.

Eine entscheidende Ressource ist hier die Unity ScriptReference. Die ScriptReference ist eine durchsuchbare Datenbank, die sowohl für C # als auch für Javascript verfügbar ist und eine Liste enthält aller Unity-Befehle und -Funktionen mit Beschreibungen ihrer Funktionen und kurzen Beispielen von Syntax.

Wenn Sie Probleme mit dem Editor und der Benutzeroberfläche von Unity haben oder nur Video-Tutorials bevorzugen, gibt es eine lange Liste mit hoher Qualität Unity-Video-Tutorials Die besten Unity 3D-Tutorials für AnfängerMöchten Sie Spiele mit Unity entwickeln, wissen aber nicht, wo Sie anfangen sollen? Probieren Sie noch heute eines dieser fantastischen Unity 3D-Tutorials aus. Weiterlesen verfügbar. Umfangreicher (aber weniger breit) Text-Tutorials für Unity sind auch bei CatLikeCoding erhältlich.

Wenn Sie Fragen haben, die über den Umfang der Dokumentation oder der Tutorials hinausgehen, können Sie unter spezifische Fragen stellen Antworten. Unity3d.com. Denken Sie daran, dass die Antworten von Freiwilligen bereitgestellt werden. Respektieren Sie daher deren Zeit und durchsuchen Sie zuerst die Datenbank, um sicherzustellen, dass Ihre Frage noch nicht beantwortet wurde.

9. Erstellen Sie Ihr Spiel / Kompilieren zu einer eigenständigen Anwendung

Wenn Sie etwas gebaut haben, auf das Sie stolz sind (oder wenn Sie unser etwas zwielichtiges Pong-Beispiel zum Üben geklont haben), ist es Zeit dafür Verschieben Sie Ihr Spiel aus dem Editor und verwandeln Sie es in etwas, das Sie im Internet veröffentlichen und Ihre Freunde und Familie dazu zwingen können abspielen. Dazu müssen Sie eine eigenständige Anwendung erstellen. Die gute Nachricht ist, dass dies in Unity sehr, sehr einfach ist. Es gibt jedoch einige potenzielle Schluckaufe, auf die Sie achten sollten.

Beachten Sie zunächst, dass Sie nur ein fehlerfreies Projekt erstellen können. Stellen Sie zu diesem Zweck sicher, dass die Konsole beim Erstellen geöffnet ist: Es gibt einige Fehlerbedingungen, die das Spiel im Editor ignoriert, einen versuchten Build jedoch weiterhin abbricht. Dadurch werden nur Fehlermeldungen an die Konsole ausgegeben, ohne dass sichtbare Ergebnisse auf dem Bildschirm angezeigt werden. Dies kann frustrierend sein, wenn Sie die Überprüfung vergessen. Sobald Sie Ihr Spiel fehlerfrei kompiliert haben, können Sie auswählen Build-Einstellungen unter dem Datei Menü oder drücken Sie Strg > Verschiebung
> B.. Daraufhin wird ein einfacher Dialog angezeigt, in dem Sie Ihr Spiel für mehrere Plattformen erstellen können.

Programmieren eines Spiels mit Unity: Ein Anfängerhandbuch Unity-Programmspiel 17

Der Vorgang von dort aus ist selbsterklärend: Wählen Sie Ihre Optionen aus und klicken Sie auf bauen; Das Spiel fordert Sie zur Eingabe eines Verzeichnisses auf und legt dort sowohl die ausführbare Datei als auch das Datenverzeichnis ab. Diese beiden Dateien können zusammen komprimiert und verteilt werden (stellen Sie nur sicher, dass Sie keine Gebühren für ein in der Unity-Demo erstelltes Spiel erheben, da dies gegen die Nutzungsbedingungen verstößt).

10. Schlussbemerkungen

Wie bei jedem Spieleentwicklungstool ist die iterative Entwicklung der Schlüssel zum Erfolg mit Unity. Sie müssen in überschaubaren Schritten bauen - auf jeden Fall ehrgeizig sein, aber in kleinen Stücken ehrgeizig sein und arrangieren diese Brocken, so dass Sie, selbst wenn Sie Ihren ultimativen Ehrgeiz nicht erfüllen, zumindest eine kohärente Lösung finden Produkt.

Holen Sie sich zuerst die wichtigsten Elemente: Denken Sie an Ihre Idee minimal lebensfähiges Produkt, die einfachste und einfachste Sache, die Sie kreieren können und die Sie immer noch fühlen, als hätten Sie etwas Wertvolles erreicht. Erreichen Sie dieses minimal realisierbare Projekt, bevor Sie sich größeren Ambitionen zuwenden.

Dieses Tutorial gibt Ihnen einen guten Startplatz, aber der beste Weg, um Unity zu lernen, ist das Erstellen eines Spiels. Beginnen Sie mit dem Aufbau eines Spiels, füllen Sie Lücken in Ihrem Wissen, sobald diese auftauchen, und der allmähliche Wissensfluss wird die Dinge, die Sie nicht überraschend schnell kennen, wegfressen.

Wenn Sie dies alles gelesen haben und von der für Unity erforderlichen Codierung etwas überfordert sind, lesen Sie die Vorgehensweise Lerne die Spieleentwicklung mit Unity Learn Unity Learn ist der einfachste Weg, um die Spieleentwicklung zu meisternMöchten Sie Ihre eigenen Spiele entwickeln? Unity Learn ist der beste und einfachste Weg, um zu lernen und zu meistern, was Sie wissen müssen. Weiterlesen und lesen Sie auch unseren Leitfaden weiter wie man Videospiele ohne Programmierung macht Wie man Videospiele ohne Programmierung machtWillst du ein Videospiel machen, kannst aber nicht codieren? Verwenden Sie dann ein Videospiel-Baukasten, mit dem Sie Spiele ohne Codierung erstellen können! Weiterlesen .

Unity ist ein mächtiges Werkzeug, und mit ein wenig Erkundung können Sie damit beeindruckende Projekte schneller erstellen, als Sie vielleicht erwarten. Lassen Sie uns wissen, was Sie in den Kommentaren unten erstellt haben - wir würden es gerne sehen!

Andre ist ein im Südwesten ansässiger Schriftsteller und Journalist, der garantiert bis zu 50 Grad Celsius funktionsfähig bleibt und bis zu einer Tiefe von zwölf Fuß wasserdicht ist.