Unity Game Vol. 1 - Mentoring 2019 · Unity Game Vol. 1 Mentoring 2019 Diane Hanke, Toni Wirth,...
Transcript of Unity Game Vol. 1 - Mentoring 2019 · Unity Game Vol. 1 Mentoring 2019 Diane Hanke, Toni Wirth,...
Unity Game Vol. 1Mentoring 2019
Diane Hanke, Toni Wirth, Sönke Schmidt & Thushan SatkunanathanFreie Universität Berlin
26. April 2019
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 2
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 3
Programm
1. Blockkurs2. Blockkurs
3. Blockkurs
Man, ist das schön hier!Der Weg zum ersten eigenen Spiel!É Einführung und MotivationÉ Unity installierenÉ Einführung in C#É Unity-EngineÉ Asset-StoreÉ Terrain erstellenÉ Wolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 4
Programm
1. Blockkurs
2. Blockkurs3. Blockkurs
Unser Held wird lebendig!Willkommen in deiner neuen Welt!É C# und die Unity APIÉ Player erstellenÉ SpielerbewegungÉ Gegner platzierenÉ Interaktionsobjekte
,
FU Berlin, Unity Game, 26. April 2019 5
Programm
1. Blockkurs
2. Blockkurs
3. Blockkurs
Die erste Welt war schon ganz nett!Aber jetzt wird es richtig fancy!É GUI gestaltenÉ KampfsystemÉ BildschirmausgabeÉ SoundeinbindungÉ Feinschliff
,
FU Berlin, Unity Game, 26. April 2019 6
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 7
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 10
Unity installieren
É online über: https://unity3d.com
,
FU Berlin, Unity Game, 26. April 2019 11
Unity einrichten
1. SchrittÉ Website öffnenÉ Unity-ID anlegen
,
FU Berlin, Unity Game, 26. April 2019 12
Unity einrichten
3. SchrittÉ Download
Installer anklicken
,
FU Berlin, Unity Game, 26. April 2019 14
Unity einrichten
4. SchrittÉ die ersten drei
brauchen wirÉ Rest: optional
,
FU Berlin, Unity Game, 26. April 2019 15
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 16
Einführung in C#
Zum selbstständigen Lernen:É https://unity3d.com/de/learnÉ https://msdn.microsoft.com/de-de/library/67ef8sbd.aspx
,
FU Berlin, Unity Game, 26. April 2019 17
Einführung in C#
Motivation: Interaktion mit der Umwelt
1 using UnityEngine;2 using System.Collections;
4 public class PlayerController: MonoBehavior {5 public float speed;6 private Rigidbody rb;
8 void Start () {9 rb = GetComponent<Rigidbody>();
10 }11 }
Mit einer Anweisung wird in Unity eine Figur bewegt (Code unvollständig!).
,
FU Berlin, Unity Game, 26. April 2019 18
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 19
IDE
Integrated Development Environment... ist eine Sammlung von Anwendungsprogrammen,mit denen die Aufgaben in der Softwareentwicklungmöglichst schnell und effektiv bearbeitet werdenkönnen.
VisualStudio
MonoDevelop
,
FU Berlin, Unity Game, 26. April 2019 20
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 21
Datentypen
Typ Minimum Maximum Größe VZsbyte −128 127 8 Bit jashort −32768 32767 16 Bit jaint −2147483648 2147483647 32 Bit jalong −9223372036854775807922337203685477580764 Bit jabyte 0 255 8 Bit neinushort 0 65535 16 Bit neinuint 0 4294968295 32 Bit neinulong 0 1844674407370955161564 Bit nein
,
FU Berlin, Unity Game, 26. April 2019 22
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 23
if-else-Bedingung
1 bool condition = true;
3 if (condition) {4 Console.WriteLine("The variable is set to true.");5 }6 else {7 Console.WriteLine("The variable is set to false.");8 }
Eine if-Anweisung ermittelt, welche Anweisung, basierend auf dem Werteines booleschen Ausdrucks, auszuführen ist. Hier wird die boolescheVariable condition auf true initialisiert und dann in der if-Anweisungüberprüft. Die Ausgabe lautet „The variable is set to true“.
,
FU Berlin, Unity Game, 26. April 2019 24
if-else-Bedingung
1 int m = 10;2 int n = 20;
4 if (m>10) {5 if (n>20)6 Console.WriteLine("Result1");7 }8 else {9 Console.WriteLine("Result2");
10 }
Wie würde hier die Ausgabe lauten?
Die Ausgabe lautet: „Result2“.
,
FU Berlin, Unity Game, 26. April 2019 25
if-else-Bedingung
1 int m = 10;2 int n = 20;
4 if (m>10) {5 if (n>20)6 Console.WriteLine("Result1");7 }8 else {9 Console.WriteLine("Result2");
10 }
Wie würde hier die Ausgabe lauten?Die Ausgabe lautet: „Result2“.
,
FU Berlin, Unity Game, 26. April 2019 25
if-else-Bedingung
Wofür könnte man dies in der Spieleentwicklung nutzen?
,
FU Berlin, Unity Game, 26. April 2019 26
switch-Anweisung
1 public class Example2 {3 public static void Main()4 {5 int caseSwitch = 1;
7 switch (caseSwitch)8 {9 case 1:
10 Console.WriteLine("Case 1");11 break;12 case 2:13 Console.WriteLine("Case 2");14 break;15 default:16 Console.WriteLine("Default case");17 break;18 }19 }20 }
Die Anweisung switch wird häufig als Alternative zu einem if-else-Konstruktverwendet, wenn ein einzelner Ausdruck mit drei oder mehr Bedingungengetestet wird.
,
FU Berlin, Unity Game, 26. April 2019 27
switch vs. if-else
1 public enum Color { Red, Green, Blue }
3 public class Example4 {5 public static void Main()6 {7 Color c = (Color) (new Random()).
Next(0, 3);8 switch (c)9 {
10 case Color.Red:11 Console.WriteLine("red");12 break;13 case Color.Green:14 Console.WriteLine("green");15 break;16 case Color.Blue:17 Console.WriteLine("blue");18 break;19 default:20 Console.WriteLine("unknown.");21 break;22 }23 }
1 public enum Color { Red, Green, Blue }
3 public class Example4 {5 public static void Main()6 {7 Color c = (Color) (new Random()).Next
(0, 3);8 if (c == Color.Red)9 Console.WriteLine("red");
10 else if (c == Color.Green)11 Console.WriteLine("green");12 else if (c == Color.Blue)13 Console.WriteLine("blue");14 else15 Console.WriteLine("unknown.");16 }17 }
,
FU Berlin, Unity Game, 26. April 2019 28
switch-Anweisung
Wofür könnte man dies in der Spieleentwicklung nutzen?
,
FU Berlin, Unity Game, 26. April 2019 29
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 30
while-Schleife
1 class WhileTest {2 static void Main() {3 int n=1;4 while (n<6) {5 Console.WriteLine("Current value of n is {0}",n);6 n++;7 }8 }9 }
10 /* Ausgabe der while-Schleife11 Current value of n is 112 Current value of n is 213 Current value of n is 314 Current value of n is 415 Current value of n is 516 */
Führt eine Anweisung wiederholt aus, bis die angegebeneAbbruchbedingung (der Ausdruck) zu 0 (null) ausgewertet wird.
,
FU Berlin, Unity Game, 26. April 2019 31
while-Schleife
Wofür könnte man dies in der Spieleentwicklung nutzen?
,
FU Berlin, Unity Game, 26. April 2019 32
for-Schleife
1 for (int i=0; i<=5; i++) {2 Console.WriteLine(i);3 }4 /* Ausgabe der for-Schleife5 06 17 28 39 4
10 511 */
Mit einer for-Schleife kann eine Anweisung oder ein Anweisungsblockwiederholt ausgeführt werden, bis ein angegebener Ausdruck false ergibt.Dies ist beispielsweise für das Durchlaufen von Arrays nützlich, in denenvorhergesagt wird, wie oft die Schleife durchlaufen wird.
,
FU Berlin, Unity Game, 26. April 2019 33
for-Schleife
Wofür könnte man dies in der Spieleentwicklung nutzen?
,
FU Berlin, Unity Game, 26. April 2019 34
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 35
Array
1 // Declare a single-dimensional array2 int[] array1 = new int[5];
4 // Declare a set array elements value5 int[] array2 = new int[] {1,3,5,7,9};
7 // alternative Syntax8 int[] array3 = {1,3,5,7,9};
Man kann mehrere Variablen des gleichen Typs in dem abstraktenDatentyp Array speichern.Ein Array wird deklariert, indem der Datentyp seiner Elementeangegeben wird.
,
FU Berlin, Unity Game, 26. April 2019 36
Liste
1 System.Collections.Generic.List<string> pizza = new System.Collections.Generic.List<string>();
3 pizza.Add("bacon");4 pizza.Add("baccheeseon");5 pizza.Add("tomato");
7 pizza.Insert(1,"ananas");
9 foreach (string ingredient in pizza) {10 System.Console.WriteLine(ingredient);11 }
Stellt eine stark typisierte Liste von Objekten dar, auf die über einen Indexzugegriffen werden kann.Die Klasse Liste stellt Methoden zum Durchsuchen, Sortieren undBearbeiten bereit.
,
FU Berlin, Unity Game, 26. April 2019 37
Arrays vs. Listen
É Arrays sind dadurch gekennzeichnet, dass sie eine feste Größe haben.É Listen wachsen dynamisch. Die Anzahl der zu speichernden Objekte
muss vorher nicht bekannt sein.
,
FU Berlin, Unity Game, 26. April 2019 38
Arrays und Listen
Wofür könnte man dies in der Spieleentwicklung nutzen?
,
FU Berlin, Unity Game, 26. April 2019 39
Dictionary
1 Dictionary<string, string> opwenWidth = new Dictionary<string, string>();
3 opwenWidth.Add("txt","notepad.exe");4 opwenWidth.Add("bmp","paint.exe");5 opwenWidth.Add("dib","paint.exe");6 opwenWidth.Add("rtf","wordpad.exe");
8 /*9 Key = txt, Value = notepad.exe
10 Key = bmp, Value = paint.exe11 Key = dib, Value = paint.exe12 Key = rtf, Value = wordpad.exe13 */
Ein Dictionary besteht aus Schlüssel-Objekt-Paaren.Zu einem bestimmten Schlüssel gehört immer ein Objekt. Man kann alsodie Schlüssel auf die Objekte „abbilden“.
,
FU Berlin, Unity Game, 26. April 2019 40
Dictionary
Wofür könnte man dies in der Spieleentwicklung nutzen?
,
FU Berlin, Unity Game, 26. April 2019 41
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 42
Funktionen
1 public class Programm {2 void funktionsname() {3 Console.WriteLine("Herzlich Willkommen zum Unity-Kurs");4 }5 }
Eine Funktion ist ein Codeblock, die eine oder mehrere Anweisungenenthalten kann. Diese Funktion kann im Programm aufgerufen werden.Hier in diesem Beispiel enthält die Funktion funktionsname() dieAnweisung einen String auszugeben.
,
FU Berlin, Unity Game, 26. April 2019 43
Funktionen
Wie könnte eine Funktion in der Spieleentwicklung lauten?
,
FU Berlin, Unity Game, 26. April 2019 44
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 45
Objekte
Ein Objekt ist die Modellierung für einen Ausschnitt aus der realen Welt. Eshat einen Zustand, der durch Attribute, und ein Verhalten, das durchMethoden beschrieben wird.É Attribute: Beschreiben bestimmte Eigenschaften eines Objekts.É Methoden: Beschreiben bestimmte Funktionen eines Objekts.
,
FU Berlin, Unity Game, 26. April 2019 46
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 47
Klassen
Das Erstellen von Klassen dient derKategorisierung von Objekten.(Bauplan des Hauses)
Eine Klasse beschreibt alle Objektemit gleichartigen Attributen undMethoden. (Haus)
,
FU Berlin, Unity Game, 26. April 2019 48
Objekte und Klassen
Was könnte innerhalb der Spieleentwicklung eine Klasse sein? Wie könntenObjekte dieser Klasse lauten?
,
FU Berlin, Unity Game, 26. April 2019 49
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 50
Vererbung
Vererbung ermöglicht die Erstellung neuer Klassen, die in anderen Klassendefiniertes Verhalten wiederverwenden, erweitern und ändern.
Die Klasse, deren Attribute und Methoden vererbt werden, wirdBasisklasse genannt, und die Klasse, die diese Attribute und Methodenerbt, wird abgeleitete Klasse genannt.
1 // Basisklasse2 public class Tier {3 // In dieser Klasse sollen alle Gemeinsamkeiten aufgelistet werden.4 // Sie ist somit sehr allgemein erhalten.5 }
1 // abgeleitete Klasse2 public class Fuchs extends Tier {3 // In dieser Klasse sollen alle Eigenschaften eines Fuchs aufgelistet
werden.4 // Sie ist somit spezieller als die Basisklasse.5 }
,
FU Berlin, Unity Game, 26. April 2019 51
Vererbung
1 // Programm2 class Zoo {3 static void main() {4 Tier abstractopticus = new Tier(); // ein Objekt der Basisklasse erstellen5 Fuchs rex = new Fuchs(); // ein Objekt der katzenartigen Tiere erstellen6 }7 }
,
FU Berlin, Unity Game, 26. April 2019 52
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 54
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 55
Login
É Wir starten Unity
É Registrierung:
É E-Mail:[email protected]
É Passwort: Fugast123
,
FU Berlin, Unity Game, 26. April 2019 56
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 57
Projekt anlegen
Projekt erstellen
É Titel des Projekts
É Speicherort wählen (in Z:\)
É 3D Projekt erstellen
,
FU Berlin, Unity Game, 26. April 2019 58
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 59
Aufbau der Engine
Feld Funktion Beschreibung1 greifen in der Szene nach links, rechts, oben,
unten bewegen (zum SchwenkenRechtsklick gedrückt halten)
2 Objekt greifen Objekt (Assert) um die x-, y-, z-Achsebewegen
3 rotieren Objekt (Assert) um die eigene Achse ro-tieren lassen
4 skalieren Objekt (Assert) skalieren5 gleichmäßig skalieren Objekt (Assert) gleichmäßig um x- und
z-Achse skalieren (für Objekte geeignet,bei denen Höhe irrelevant ist, z.B. Bo-den)
In neueren Versionen stehen euch zwei weitere Werkzeuge zur Verfügung.,
FU Berlin, Unity Game, 26. April 2019 63
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 67
Asset Store
https://assetstore.unity.com/
,
FU Berlin, Unity Game, 26. April 2019 68
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 70
Terrain erstellen
Asset:https://assetstore.unity.com/packages/3d/environments/fantasy/
glowing-forest-79686
,
FU Berlin, Unity Game, 26. April 2019 71
Terrain erstellen
É GameObject > 3D Object > TerrainÉ Terrain Width und Terrain Length auf 100
,
FU Berlin, Unity Game, 26. April 2019 72
Wände
Erstellt Wände um euer Terrain, um zu verhindern, dass der Player vomTerrain fallen kann!
Wir haben dies mit Bergketten gelöst.
,
FU Berlin, Unity Game, 26. April 2019 73
Design-Tools
Tipp: Indem du die UMSCH-Taste und SHIFT gedrückt hältst, kannst du diejeweiligen Effekte umkehren (also z.B. das Terrain absenken, anstatt esanzuheben, um einen See zu gestalten).
,
FU Berlin, Unity Game, 26. April 2019 74
Design-Tools
Feld Funktion Beschreibung1 Raise / Lower-Tool Oberfläche anheben und absenken2 Paint Height-Tool Oberfläche auf festen Wert anheben und
absenken3 Smooth Height-Tool Übergänge abrunden, Hügel abflachen, wei-
che Kurven gestalten4 Paint Texture-Tool Terrain mit Texturen bemalen5 Place Tree-Tool Bäume, Sträucher und andere platzierte
Objekte hinzufügen6 Paint Details-Tool statische Meshes hinzufügen (Steine, Grä-
ser, etc.)7 Settings diverse weitere Einstellungen
,
FU Berlin, Unity Game, 26. April 2019 76
Assets
Bäume:https://assetstore.unity.com/packages/3d/vegetation/trees/
stylized-trees-low-poly-49916
Büsche:https://assetstore.unity.com/packages/3d/vegetation/plants/
hand-painted-bush-pack-43075
Steine:https://assetstore.unity.com/packages/3d/environments/fantasy/
a-piece-of-nature-40538
,
FU Berlin, Unity Game, 26. April 2019 77
Himmel
É Lighting-Fenster aktivieren: Window > Lighting > SettingsÉ Skybox Material anpassen
Asset:https://assetstore.unity.com/packages/2d/textures-materials/sky/
toony-skies-11020
,
FU Berlin, Unity Game, 26. April 2019 78
Inhalt
ProgrammEinführung und MotivationUnity installierenEinführung in C#
IDEDatentypenif-else-BedingungSchleifenArray, Liste, DictionaryFunktionen
ObjekteKlassenVererbung
Unity EngineLoginProjekt anlegenAufbau der Engine
Asset StoreTerrain erstellenWolkenplateaus
,
FU Berlin, Unity Game, 26. April 2019 79
Wolkenplateaus
Asset:https://assetstore.unity.com/packages/3d/3le-low-poly-cloud-pack-65911
,
FU Berlin, Unity Game, 26. April 2019 80
Wolkenplateaus
É Lieblingswolken wählen und daraus 7 Plateaus errichten
Hinweis: Achtet darauf, dass mindestens zwei Plateaus groß genug sind,um später Gegner auf diesen Ebenen platzieren zu können, denen sichDschäns stellen muss.
,
FU Berlin, Unity Game, 26. April 2019 81
Mesh Collider
Dient der collision detection. Um das jeweilige Objekt wird ein Collidergebaut, der an das Asset angepasst ist. Wir können also überprüfen, obunser Objekt mit einem anderen in Berührung kommt.
É Wolkenplateau als Objekt auswählenÉ Add Component > Physics > Mesh Collider
Hinweis: Ihr könnt ein Plateau aus mehreren Wolkenteilenzusammenbauen. Lasst eurer Kreativität freien Lauf. Achtet dann darauf,dass ihr wirklich dem gesamten Plateau den Mesh Collider hinzufügt.
,
FU Berlin, Unity Game, 26. April 2019 82
Ausblick 2. Woche
1. Blockkurs
2. Blockkurs3. Blockkurs
Unser Held wird lebendig!Willkommen in deiner neuen Welt!É C# und die Unity APIÉ Player erstellenÉ SpielerbewegungÉ Gegner platzierenÉ Interaktionsobjekte
,
FU Berlin, Unity Game, 26. April 2019 83
Referenzen
É https://upload.wikimedia.org/wikipedia/commons/8/8a/Official_unity_logo.png
É https://www.offgamers.com/blog/wp-content/uploads/2015/11/hearthstone-logo-310x310.jpg
É https://upload.wikimedia.org/wikipedia/en/1/1b/Umbrella_Corps_cover_art.jpg
É http://cfile22.uf.tistory.com/image/2502EA4E58A723D1314642É https://i0.wp.com/timemanagementninja.com/wp-content/uploads/
2014/02/Pause-Button-Key.jpg?resize=600%2C361&ssl=1É https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/
keywords/switchÉ https://seeklogo.com/images/V/
visual-studio-2015-logo-31D5DD049E-seeklogo.com.jpgÉ https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/
Monodevelop_Logo.svg/1024px-Monodevelop_Logo.svg.png
,
FU Berlin, Unity Game, 26. April 2019 84