Unity3d Tutorial

Unity3d Tutorial

Einführung in Unity 3D

Unity 3D ist eine leistungsstarke Game Development Engine. Es ist eine Cross -Plattform, mit der Sie Spiele für Mobile, Web, Desktop und Konsole erstellen können, die insgesamt rund 30 Plattformen. Unity 3D hat viele aufregende Funktionen, einige von ihnen sind unten angegeben:

  • Kosten: Die persönliche Version von Unity 3D ist kostenlos für Anfänger, Studenten und Hobbyisten. Unity Personal hat alle Kernmerkmale der Einheit. Es verfügt außerdem über Kernanalysen, Cloud-Build, Anzeigen, Mehrspielermodus, In-App-Käufe und Cross-Plattform-Funktionen. Außer diesen Merkmalen hat Unity Personal auch einige Einschränkungen. Zwei weitere Versionen Unity Plus und Unity Pro sind auch für ernsthafte Schöpfer und Fachkräfte erhältlich, beginnend zum Preis von 35 USD pro Monat.
  • All In-One Editor: Einheit ist als All -in einem Herausgeber bekannt. Der Einheit -Editor verfügt über mehrere künstlerfreundliche Tools, um beeindruckende Erlebnisse zu entwerfen. Es verfügt über eine starke Anklage von Entwickler -Tools zur Implementierung von Spiellogik und High -End -Spiele -Gameplay. Mit Unity können Sie auch sowohl 2D- als auch 3D -Spiele erstellen. Es enthält auch KI -Pfadfinding -Tools, die auf einem Navigationssystem basieren. Es verfügt über ein ausgezeichnetes integriertes System, um auffällige Benutzeroberflächen zu erstellen. Die Box2D Physics Engine ermöglicht es uns, realistische Bewegungen, Schwung, Kraft und Gameplay zu erstellen.
  • Plattformen: Unity unterstützt viele verschiedene Plattformen wie Linux, iOS, Android, Windows usw. Ganz fast 30 Plattformen.
  • Virtuelle und erweiterte Realität: Einheit unterstützt die virtuelle und erweiterte Realitätsentwicklung. Es ist am weitesten verbreiteten Motor für die XR -Entwicklung. Es verfügt über Microsoft HoloLens, Stream VR/Vive, Gear VR und PlayStation VR Support in Unity Plus für virtuelle und erweiterte Realität.
  • Multiplayer: Für Echtzeit -Vernetzungs- und Mehrspielerspielspiele ist Unity die beste Option. Es bietet Servern für die Zusammenarbeit in Echtzeit.
  • Motorleistung: Die Motorleistung von Unity ist außergewöhnlich. Multi-Thread-Computersystem kommt für intensive Szenarien. Die Unity Engine verfügt über fortschrittliche Profiling -Tools, die feststellen.
  • Unity Asset Store: Es ist ein massiver Katalog von kostenlosen und bezahlten Inhalten. Sie können Ihre Entwicklungszeit erhöhen, indem Sie viele integrierte kostenlose Modelle und Vermögenswerte herunterladen. Sogar Unity Asset Store hat sowohl kostenlose als auch bezahlte Projekte vollständige Projekte.
  • Grafikwiedergabe: Unity hat eines der besten Grafik -Rendering -Systeme. Es ermöglicht Ihnen, Umgebungen wie Luminous Day, Gaudy Leuchten von Neonschildern, schwach beleuchtete Mitternachts und schattige Tunnel zu erstellen. Es erzeugt erstaunliche visuelle Effekte. Obwohl die Unity Multi-Plattform unterstützt, aber trotzdem versucht sie, eine Grafik-API von niedrigem Niveau jeder Plattform zu decken, um bessere Ergebnisse und erstickende Benutzererfahrung zu erhalten.
  • Gruppenarbeit: Es verfügt über Funktionen, die die Zusammenarbeit und einen einfachen Workflow ermöglichen. Mit dem Cloud -Speicher von Unity können Sie Ihre Projekte überall speichern, teilen und synchronisieren.
  • Leistungsberichterstattung: Das System der Einheit Performance Reporting System befasst sich mit Problemen in Echtzeit. Probleme mit hohen Prioritäten werden sehr effizient gelöst. Findet Anwendungsfehler über Geräte und Plattformen hinweg.

Einheitsschnittstellen

Erforschen wir die Schnittstellen des Unity -Editors, die konfigurierbar sind. Es besteht aus angegebenen Fenstern, die Sie entsprechend Ihrem Bedarf neu ordnen können. Lassen Sie uns die Standardfenstereinstellungen untersuchen. Hier ist das Bild, wie es aussieht

Hierarchiefenster

Das Hierarchiefenster repräsentiert jedes Objekt in der Szene. Es zeigt, wie Objekte in der Szene miteinander verbunden sind, sodass diese beiden Fenster verwandt sind. Im Fenster Hierarchie gibt es eine Dropdown -Liste mit dem Namen als Erstellen. Sie können ein leeres Objekt, 3D -Objekte, 2D. Das Hierarchiefenster ist unten gezeigt. "Ohne Titel" ist der Name der Szene. Sie können es umbenennen, wie Sie möchten. Sie können ein Dropdown -Symbol auf der rechten Seite von Untitled (Szenenname) sehen. Wenn Sie auf diesen Dropdown klicken, können Sie verschiedene Optionen dafür sehen Szene retten Und Neue Szene hinzufügen.

Szenenfenster

In Szenenfenster erstellen Sie Ihre Szene. Hier können Sie mit Ihren Spielobjekten und Modellen interagieren. Sie können Ihre Szenenobjekte ändern, umgestalten und neu positionieren. Dies ist das Fenster, in dem Sie mit der Einheit arbeiten. Die Szenenansicht kann je nach Einstellung Ihres Projekts 2D oder 3D sein. Hier ist ein Screenshot, wie das Szenenfenster aussieht:

Im Szenenfenster können Sie eine andere Registerkarte mit der Bezeichnung sehen Schattiert, Hier können Sie auswählen, welche Art der Ansicht Sie entweder schattiert oder verdrahtet werden möchten. Es verfügt über viele andere Optionen wie verschiedene, globale Beleuchtung, Echtzeit -GI, gebackenes GI und viele andere. Sie können sich auf 2D oder 3D anzeigen, indem Sie die Schaltfläche neben der verwenden Schattiert Dropdown-Liste. Als nächstes kommt die Schalttaste für die Szenenbeleuchtung. In ähnlicher Weise eine Schaltfläche für den Szenen -Audio. Als nächstes ermöglicht es eine Dropdown -Liste, um Sky Box, Nebel, animiertes Material und Bildeffekte zu ermöglichen.

Spielfenster

Das Spielfenster repräsentiert Ihr letztes, veröffentlichtes Spiel im Spielmodus. Es wird aus den Kameras gerendert, die Sie in Ihrem Spiel verwendet haben. Im Spielfenster können Sie eine weitere Werkzeugleiste sehen, wie unten im Screenshot gezeigt:

Anzeige 1 zeigt die in Ihrer Spielszene vorhandene Kamera an. Standardmäßig ist es auf festgelegt Anzeige 1 für Hauptkamera. Wenn Sie mehrere Kameras haben und wechseln möchten, können Sie aus Dropdown -Liste auswählen. Daneben können Sie einen Dropdown -Down -Down -Runter -Verhältnis von Seitenverhältnissen sehen. Sie können entsprechend Ihrem Zielgerät Monitor -Bildschirm auswählen. Als nächstes können Sie eine sehen Slider skalieren Zoomen. Scrollen Sie nach rechts und untersuchen Sie weitere Details Ihrer Szene im Spielmodus. Als nächstes kommt die Schaltfläche für Maximieren Sie das Spiel, Beim Klicken ist die Spielfenstergröße im Spielmodus maximal. Stumme Audio Wechsel wird für Stummschalt-/Bühnen Audio verwendet. Statistiken Zeigt Rendering -Statistiken über die Audio und Grafik Ihres Spiels.

Projektvermögen Fenster

Wie der Name zeigt, hat das Fenster des Vermögens über alle Vermögenswerte Ihres Projekts, die Sie verwenden können. Wenn Sie etwas Neues importieren, wird es im Fenster Projektvermögen angezeigt. Das Projekt -Asset -Fenster verfügt über zwei Teile, das linke Feld und das rechte Feld, wie im folgenden Screenshot gezeigt:

Der linke Bereich zeigt die hierarchische Struktur des Projektvermögens des Projekts. Wenn Sie auf einen Ordner klicken, werden die Details im rechten Feld angezeigt. Zum Beispiel in der angegebenen Abbildung Vorbereitungen Der Ordner wird im linken Feld geklickt, sodass seine Details im rechten Feld angezeigt werden, da er zwei Spielobjekte enthält. Im linken Feld sehen Sie a Favoriten Abschnitt, in dem Sie Elemente ziehen können, die Sie sehr häufig verwenden möchten, um Zeitabfälle bei der Suche nach ihnen zu vermeiden. Darüber können Sie a sehen Erstellen Dropdown, damit Sie ein C# -Skript, einen Ordner, einen Shader, eine GUI -Haut, eine Szene, ein Prefab, ein Material und vieles mehr erstellen können.

Konsolenfenster

Das Konsolenfenster ist der Ort, an dem Sie Ihre Fehler, Warnungen und Nachrichten sehen können. Sie können sie einstellen, indem Sie auf die Schaltflächen klicken. Sie können auch alle Fehler, Warnungen und Nachrichten löschen. Sie können Fehler für eine bestimmte Zeit innehalten. Hier können Sie in der folgenden Abbildung sehen

Das Dropdown -Symbol in der oberen rechten Ecke verfügt.

Inspektorfenster

Inspektorfenster ist eines der interessantesten und nützlichsten Fenster des Editors. Es ist der Ort, an dem Sie alle Eigenschaften des ausgewählten Spielobjekts bearbeiten können. Jedes Spielobjekt hat seinen eigenen Typ, damit seine Eigenschaften unterschiedlich sein und das Fenster des Inspektors variieren kann. Assets, Skripte und Spielobjekte variieren in den Eigenschaften. Sehen wir uns die Eigenschaften eines Würfels im Inspektorfenster an. Hier ist das Bild:

Sie können Ihr Spielobjekt umbenennen, indem Sie einfach auf den vorherigen Namen klicken und einen neuen eingeben. Als nächst. Im letzten sehen Sie einen Button -Namen als Komponente hinzufügen, Klicken Sie darauf, um Ihrem Spielobjekt neue Komponenten hinzuzufügen. Wenn Sie beispielsweise ein Skript anhängen möchten, klicken Sie einfach auf die Komponente hinzufügen und geben Sie Ihren Skriptnamen ein.

Werkzeugleiste

Zuletzt ist die Registerkarte "Toolleiste", es hat viele nützliche Funktionen. Es enthält einige grundlegende Werkzeuge zur Manipulation der Szenenansicht und der Objekte. In der Mitte gibt es Knöpfe zum Spielen, inne und in die Stufenkontrolle. Die nächsten beiden Schaltflächen zeigen Ihre Einheit -Cloud- und Unity -Konto. Hier ist die Figur, wie es aussieht:

Erste Schritte mit Einheit

Lassen Sie uns ein neues Projekt in Einheit erstellen, weil es Zeit ist, mit dem zu spielen, was wir gelernt haben. Doppelklicken Sie auf ein Einheitssymbol. Das folgende Fenster wird angezeigt:

Eingeben Projektname, Wählen Sie einen Arbeitsplatz aus Standort und wählen Sie dann den Typ Ihres Projekts entweder 2D oder 3D aus. Klicke auf Projekt erstellen.

Standardmäßig sehen Sie eine Szene ohne Titel, die eine Hauptkamera und ein Richtlicht in der Szene enthält. Lassen Sie uns eine Umgebung schaffen.

Bauumgebung

Erstellen Sie zunächst ein Flugzeug, indem Sie auf Klicken auf Klicken Erstellen -> 3D -Objekt und dann auswählen Ebene. Oder alternativ können Sie es erstellen, indem Sie auf klicken GameObject -> Spielobjekt und dann auswählen Ebene. Gehen Sie zum Hierarchiefenster und klicken Sie auf das Flugzeugspielobjekt. Gehen Sie nun zu Inspector Fenster und benennen Sie es als um Boden. Stellen Sie nun die Transformationswerte so ein, dass diese Ebene wie eine gerade Straße aussieht. Skalieren Sie einfach x bis 6 und z bis 50. Hier ist das Bild, wie es aussieht

Laden Sie nun eine Straßentextur herunter und wenden Sie sie auf das Bodenobjekt an. Erstellen Sie einen Ordneramen als Textur. Ziehen Sie die heruntergeladene Straßentextur in den Ordner der Textur. Wählen Sie nun aus Boden und Drag Road Textur in der Szenenansicht. Hier ist das Bild, wie es aussieht

Dies ist die Textur, die ich heruntergeladen habe

Klicken Sie nach dem Auftragen der Textur auf den Boden auf den Boden und stellen Sie das Fliesen des Inspektorfensters ein. So setze ich es ein.

Jetzt haben Sie ein Straßenmodell erstellt. Lassen Sie uns ein Ballmodell in Einheit erstellen.

Gehe zu Erstellen -> 3D -Objekt und dann auswählen Kugel, Sie sehen ein Sphere -Objekt im Szenenfenster. Wählen Sie es aus und gehen Sie zum Inspector -Fenster, um es als umzubenennen Ball. Passen Sie nun die Transformationswerte entsprechend an. Skalieren Sie es einfach auf 5 entlang aller drei Achse und positionieren Sie es in die Straße in die Mitte der Straße neu. So sieht es aus

Erstellen Sie nun einen Zaun oder eine Wand um die Straße.

Gehe zu Erstellen -> 3D -Objekt und dann auswählen Würfel. Wählen Sie es aus und benennen Sie es um Wand1. Gehen Sie zum Inspektorfenster und setzen Sie die Transformationswerte, damit sie wie eine Wand um die Straße aussieht. So sieht es aus:

Siehe diese Transformationswerte für Wand1. Skalieren Sie y bis 6 und z bis 500. Passen Sie dann seine Position so ein, dass es an den Straßenwintern kommt.

Suchen Sie nun nach einer Wandtextur herunter und kopieren Sie sie in die Textur Ordner in Vermögenswerten. Ziehen Sie die Wandtextur an die Wand im Szenenfenster. Passen Sie die Bearbeitung so ein, dass es gut und glatt aussieht. Ich habe die Fliesen als x bis 50 und y bis 1 eingestellt.5. Nach dem Einstellen von Fliesen sieht es so aus

Dies ist die Textur, die ich für die Wand verwendet habe

Wir haben Wand für eine Straßenseite erstellt. Jetzt tun Sie das Gleiche auch für die andere Straßenseite. Anstatt den gesamten Prozess durchzugehen, können wir einfach kopieren Wand1 und benennen es um um Wall2.

Wählen Wand1 im Hierarchiefenster und dann mit der rechten Maustaste und dann aus auswählen Duplikat Möglichkeit. Es erstellt ein anderes Spielobjekt mit gleichen Größe und Transformationswerten. Klicke auf Wall1 (1) und benennen es um um Wall2. Passen Sie nun die Position so ein, dass es in die andere Straße Ecke der Straße kommt.

Sehen Sie das folgende Bild, wie cool es aussieht

Meine Positionswerte für Wall2 sind x bis -29.6 y bis 2.6 und z bis 2.6.

Erstellen Sie nun ein Material für Ball. Gehen Sie zum Projektfenster und erstellen Sie einen Ordner, indem Sie mit der rechten Maustaste auf die Maus klicken und dann auswählen Ordner. Nennen Sie es als Materialien. Klicken Sie erneut mit der rechten Maustaste auf die Maus und erstellen Sie ein Material. Nennen Sie es als roter Ball. Wählen Sie im Fenster des Inspektors die Farbe des Materials aus. Gehe zu Hauptkarten und wählen Sie Albedo -Farbe nach rot. Erhöhen Sie die metallische Textur, indem Sie die Stange nach rechts scrollen. Ziehen Sie dieses Material in die Ball in der Szenenansicht. So sieht es aus

So sieht Material aus:

Wir sind also mit unserer Umweltentwicklung fertig. Jetzt ist es Zeit, eine Codierung zu machen. Dafür müssen wir ein Skript erstellen.

Skripten in Einheit

Um Ihre eigenen Gameplay -Funktionen zu implementieren und das Verhalten der Spieleinheit als Skriptmechanismus zu steuern. Sie können Ihr eigenes Skript für die gewünschte Ausgabe des Spiels schreiben. Mit diesen Skripten können Sie Spielereignisse auslösen, die Eigenschaften der Komponenten ändern und auf Benutzereingaben reagieren. Grundsätzlich unterstützt Unity zwei verschiedene Programmiersprachen für Scripting -Zwecke, eins ist C# und ein anderer ist JavaScript. Anders als diese beiden Sprachen viele andere .Nettosprachen können auch mit Einheit verwendet werden. Skripte werden in Einheit als Verhaltenskomponente bezeichnet.

Erstellen eines Skripts

Lassen Sie uns ein Einheitskript erstellen. Gehen Sie dazu zum Vermögensfenster und erstellen Sie einen neuen Ordner namens namens Skripte (Sie können überspringen, neue Ordner für jede neue Art von Vermögenswert zu erstellen, aber es ist eine gute Praxis, die Dinge organisiert zu halten.). So sieht mein Vermögensfenster jetzt aus:

Jetzt öffne die Skripte Ordner, mit der rechten Maustaste klicken, dann gehen Sie zu Erstellen und auswählen C# Skript. Skript umbenennen in Bewegung. Wir erstellen dieses Skript, um den Ball auf der Straße zu bewegen und zu rollen. Im Moment ist der Ball stationär, lasst uns etwas Bewegung in sich erstellen.

Doppelklicken Sie auf das Bewegungsskript, das es in Mono entwickelt, um sich zu entwickeln. Wenn Ihr Skript ein Mono -Verhalten ist, sehen Sie einen vorgeschriebenen Code wie diesen

Verwenden von System.Sammlungen;
Verwenden von System.Sammlungen.Generisch;
mit UnityEngine;
öffentliche Klassenbewegungen: monobehaviour
// Verwenden Sie dies zur Initialisierung
void start ()

// Update wird einmal pro Frame aufgerufen
void update ()

Sie können zwei Funktionen starten () und update () sehen.

Start(): Die Startfunktion wird zur Initialisierung von Variablen und Objekten verwendet. Es wird nur einmal aufgerufen, wenn das Skript kurz vor anderen Aktualisierungsfunktionen aktiviert ist.

Aktualisieren(): Es ist eine Mono -Verhaltensfunktion, sie wird in jedem Rahmen einmal aufgerufen.

Abgesehen von diesen beiden gibt es viele andere Mono -Verhaltensfunktionen beispielsweise Awake (), FixedUpdate (), LateUpdate () usw.

Um den Ball zuerst auf der Straße zu bewegen, müssen Sie ihn zu einem starren Körper machen (er ist ein idealer fester Körper, in dem die Verformung vernachlässigt wird). Wählen Ball im Hierarchiefenster und klicken Sie auf Komponente hinzufügen Schaltfläche im Inspektorfenster. Geben Sie starren Körper ein und drücken Sie Eingeben. Ein starrer Körper wird sich an die befinden Ball. Gehen Sie nun zum Skript und erstellen Sie eine private Variable vom Typ Starrer Körper. Weisen Sie dieser Variablen, die Sie gerade im Skript erstellt haben, einen starken Körper des Balls zu.

privat starrbody rb;
rb = getComponent ();

Schreiben Sie nun einen Code für die Bewegung dieses starren Körpers. Was ist die Idee?? Ball sollte sich bewegen, wenn ich Pfeiltasten des Schlüsselplatine drücke. Es sollte sich vorwärts bewegen, wenn die Taste gedrückt wird, rückwärts, wenn die Abwärts -Taste gedrückt wird, und so weiter.

Wie soll ich diese Eingabe erhalten, wenn ich von der Tastatur stammt? Die Eingangsklasse von Unity hat einen Funktionsnamen Getaxis (), Um den Wert der virtuellen Achse zurückzugeben, die durch den Achsennamen identifiziert wurde. Erstellen Sie zwei Variablen für die X-Achse und eine für die y-Achse-Eingabe. So sollte es sein

Float MoveHorizontal = Eingabe.Getaxis ("horizontal");

Erstellen Sie nun eine Vector3 -Variable, um Bewegungswerte zu erhalten.

Vektor3 Bewegung = neuer Vektor3 (MoveHorizontal, 0.0f, MoveVervertikel);

Der erste Parameter ist der Wert der x-Achse, der zweite der Wert der y-Achse und der dritte ist der Wert der Z-Achse. Da sich Ball nicht in Richtung der y-Achse bewegt, weisen Sie ihm also Null zu. Fügen Sie zuletzt diese Bewegung dem starren Körper hinzu und multiplizieren Sie mit einer konstanten Anzahl für Geschwindigkeit oder erstellen Sie eine andere Variable für die Geschwindigkeit. Siehe den vollständigen Code unten

Verwenden von System.Sammlungen;
Verwenden von System.Sammlungen.Generisch;
mit UnityEngine;
öffentliche Klassenbewegung: Monobehaviour
öffentliche Schwimmergeschwindigkeit;
privat starrbody rb;
// Verwenden Sie dies zur Initialisierung
void start ()
rb = getComponent ();

// Das feste Update wird nach fester Anzahl von Frame aufgerufen
void FixedUpdate ()
Float MoveHorizontal = Eingabe.Getaxis ("horizontal");
Float Moveverticle = Eingabe.Getaxis ("horizontal");
Vektor3 Bewegung = neuer Vektor3 (-1*MoveHorizontal, 0.0f, -1*MoveVerverticle);
rb.AddForce (Bewegung * Geschwindigkeit);

Da ist die Geschwindigkeit eine öffentliche Variable, sodass Sie im Inspektorfenster Wert zuweisen können. Befestigen Sie dieses Skript am Ball, indem Sie es am Inspektorfenster oder durch Drücken ziehen Komponente hinzufügen Taste. Drücken Sie die Wiedergabetaste und testen Sie Ihre Codierung entweder Ball bewegt sich oder nicht.

Kamera einstellen

Das Letzte, was Sie bemerken werden, ist, wenn Sie den Vorwärtsknopf drücken und der Ball beginnt, sich zu bewegen, geht aus der Kamera, da die Kamera stationär ist. Was sollen wir machen? Wir sollten auch die Kamera bewegen? Ja, es ist das einfachste, was zu tun ist. Machen Sie das Kamera -Kind des Balls, indem Sie die Hauptkamera zum Ball ziehen.

Abschluss

Dies war ein grundlegendes Einführungs -Tutorial, in dem Sie viele interessante Merkmale, Umgebungsaufbau und Skripten in Einheit gelernt haben. Zögern Sie nicht, erstellen Sie noch heute Ihr erstes Spiel mit Einheit und genießen Sie es!