What you'll learnVirtuelle Szenen mit 3D- und 2D-Modellen aufbauen
Objekte per C#, Tools und künstlicher Intelligenz erzeugen, verändern und animieren
Materialien, Texturen und Shader mit der Universal Renderpipeline darstellen
Lichtquellen, indirektes Streulicht, Spiegelungen und Kameratechnik in Szene setzen
Spieldaten von der Engine trennen, speichern und laden
RequirementsGrundkenntnisse in Objektorientierter Programmierung (z.B. Java, C++, C#, Python,...)
Grundkenntnisse in Blender von Vorteil (aber nicht zwingend nötig)
Rechner mit Unity 2021 und Blender ab 2.8
DescriptionIn diesem Kurs geht es um die Grundlagen der Spielentwicklung in Unity. Dabei lernst Du virtuelle Welten aufzubauen und Programmlogik mit C# zu formulieren. Wir schauen uns Lösungswege und auch typische Probleme an, die bei der Arbeit mit Unity üblicherweise auftreten.Die einzelnen Funktionen des Programms werden Schritt für Schritt besprochen und direkt innerhalb der Software erklärt. Die jeweiligen Umsetzungsbeispiele und Übungen kannst du sofort mitmachen und so das Gelernte selbst ausprobieren.Am Ende dieses Kurses hast du einen kompletten Überblick über Unity und kennst alle wichtigen Funktionen die du brauchst um deine Inhalte umzusetzen. Beginnend bei der Frage wie du Modelle von Blender nach Unity exportierst, über die Organisation von Szenen, dem Anlegen von Animationen, Beleuchtung, Kameraeinstellungen und 2D-Grafik bis hin zur Verbindung mit Programmlogik, Physikberechnungen und Interaktionsmöglichkeiten wird der gesamte Workflow abgebildet.Themengruppen in diesem Kurs:Virtuelle Szenen mit 3D- und 2D-Modellen aufbauenObjekte per C#, Tools und künstlicher Intelligenz erzeugen, verändern und animierenMaterialien, Texturen und Shader mit der Universal Renderpipeline darstellenLichtquellen, indirektes Streulicht, Spiegelungen und Kameratechnik in Szene setzenSpieldaten von der Engine trennen, speichern und ladenNicht nur Spiele sondern auch viele andere Produkte wie z.B. Simulationen oder Produktvisualisierungen stellen hohe technische Ansprüche, die eine GameEngine erfüllt. Das in diesem Kurs erworbene Wissen lässt sich somit zur Umsetzung von Spielen wie auch zahlreichen weiteren Anwendungsgebieten nutzen.Die Kursinhalte im Detail: Einführung und SetupUnitys Lizenzmodell und InstallationLizenzen, Versionen und Module in Unity, Unity. Anmeldung & Installation. Aktivierung und Lizenz einrichten. Was ist Unity Hub? Installationprozess durchlaufen.Anbindung von Visual StudioVisual Studio als Code-Editor installieren, bestehende VS-Installation anbinden. Plattform-Ziele (nach)installieren. Problem: Keine Auto-Vervollständigung in VS.Unity-GrundlagenElemente von Unity-ProjektenStruktur eines Unity-Projekts, Projekte in Unity-Hub anlegen, Projekt-Struktur, Projektdarstellung im Editor, Problem: Objekt-Beziehungen gehen verloren, Begriff des „Assets".Ein minimales Programm in UnityCode schreiben & ausführen, Hello World, Aufbau eines minimalen Unity-Scripts.Unity-Message-MethodenWas ist sind Unity-Messages? Welche vordefinierten Messages gibt es? Sichtbarkeitsmodifikatoren. Welchen Schutzgrad brauchen Messages wie z.B. Start()? Aufbau eines minimalen Unity-Scripts.Komponenten-ArchitekturBegriff der Komponente. Fehler: "Can't add script component[.] because the script class cannot be found."Felder, Attribute und der InspectorWas sind Felder? Feld-Werte über den Inspector steuern. Wie funktionieren Inspector-Werte technisch gesehen? Was sind „Attribute" und was bewirkt[SerializeField]?IMGUI – Einfache grafische DiagnosetoolsWas ist das IMGUI (Immediate Mode GUI)? Funktion von OnGUI().Eingabe-Elemente im IMGUIWie unterscheidet sich das IMGUI vom sonst üblichen Programmierstil in Unity? Problem: Die manuelle Angabe der Zeichnen-Koordinaten ist sehr mühsam.Interaktives Quiz zu diesem KapitelRaum und InputOrganisation von 3D-ElementenObjekte im virtuellen Raum, Game Objects als Grundtyp, GameObject und gameObject, Szenengraph und HierarchieTransform-EigenschaftObjekte im Raum transformieren, Code-Element „transform": Zugriff auf die Objekt-Position.Objekte per Code im Raum verschiebenVector3 und Vector2. Positionen zuweisen. Problem: Der Rückgabewert von Transform.position ist keine Variable und kann nicht geändert werden."[CS1612]Objekte per Code skalierenObjekte per Code rotierenZugriff auf die Rotation, Besonderheiten der Rotation, Objekt per C# um die eigene Y-Achse um 45° drehen.Wie wird ein Objekt nach vorne bewegt?Objekte hierarchisch organisierenZugriff auf die Hierarchie und Elternobjekte.Reflektion: Erkenntnisse zum „Transform"Zeitliche Verläufe mit Update und deltaTime realisierenEingaben per Input erfassen. Wie wird ein Tastendruck abgefragt?EingabeachsenSpiel-Eingaben erfassen, Input-Axes einrichten, Wie wird ein Achsensignal abgefragt?Interaktives Quiz zu diesem KapitelAssets und InstanzenKlickereignisse auf 3D-ObjektenGrundlagen Mausinteraktionen, Wie reagiert ein Objekt auf konkrete Mausinteraktionen? onmouseupAsButton(). Problem: Rechte Maustaste nicht identifizierbar.Modelle von Blender nach Unity portierenModell von Blender nach Unity exportieren, Welches Dateiformat für Exporte verwenden? Export-Import-AblaufProblemlösungen beim Portieren: Objektursprung und GrößenverhältnisseWo soll der Objektursprung in Blender liegen? Probleme: Größenverhältnisse zwischen Blender und Unity stimmen nicht. Unterschiedliche Koordinatensysteme. Importierte Modelle sind in Unity gedreht und skaliert.Austauschen eines lückenhaft erscheinenden ModellsProblem: Das Modell ist in Unity irgendwie löchrig.Arbeitsfluss bei der Asset-ProduktionAsset-Pipeline: Was wird wo gebaut? Allgemeine Entscheidungshilfe: Dynamik & Interaktivität. Wie sieht die Produktionspipeline für ein Maisfeld im Spiel aus?Modell-Instanzen per Code ansteuernMit Assets und Instanzen programmieren, Game Object – Instanzen, Duplikate, Instantiate(originalGO), Destroy(gameObject), DestroyImmediate(gameObject)Aktivieren und Deaktivieren von Objekten und KomponentenSetActive(zustand) vs. enabled-Eigenschaft. Problem: Meine Komponente hat kein Häkchen.Objekte suchen und findenWie findet ein GameObject ein anderes? Wie findet eine Komponente eine andere? Häufige Suchläufe. Objekte explizit koppeln.Objektkomposition per PrefabWie lassen sich Objektkompositionen wiederverwenden? Was sind Prefabs? Wie wird ein Prefab erzeugt? Eigenschaften und Verhalten von Prefab-Instanzen. Eigenschaften und Verhalten von Prefab-AssetsInteraktives Quiz zu diesem KapitelMaterial, Textur und ShaderUnterscheidung Materialien, Shader & TexturenBegriffsunterscheidung. Material in Unity. Welche Rolle spielen Shader?Render-PipelinesWas ist die Render-Pipeline (RP)? Render-Pipelines in Unity. Wie wird die Universal Render Pipeline (URP) in neuem Projekt aktiviert? Was ist der Package Manager? Umstellung auf Universal Render Pipeline. Problem: Nach Umstellung auf URP erscheinen die Szenen-Objekte pink.Shader Graph-EditorInstallation des Shader Graph per Package Manager, Wie funktioniert der Shader-Graph-Editor?Portierung von MaterialienWie wird ein Blender-Material nach Unity überführt? Texturemaps als MaterialfundamentArbeiten mit Material-AssetsWie ändert man das Material eines importierten Modells in Unity? Wie werden Material-Assets erzeugt? Wie ändert man das Material eines einzelnen Modells in der Szene? Wie ändert man ein Material per C#?Problem: Material-Änderung per Code wirkt nicht.Typische Textur-Probleme, Ausgangssituation. Probleme: Pixel tauchen auf, die in der Textur garnicht vorkommen, Texturkanten zeigen einen Farbschimmer. Wie wird eine Textur gekachelt? Pixel und Kanten werden immer geglättet. Die Textur wird verzerrt importiert.Mapping-KoordinatenUV-Koordinaten in Unity, Wie erreicht Code die UV-Koordinaten? Beispiel: 2D-Gesichter bei Klick ändern.VideotexturenInteraktives Quiz zu diesem KapitelAnimation und BewegungAnimationsprogrammierungWie fährt ein Objekt von A nach B? Lerp(von, bis, prozent). Version mit Kopplung über öffentliches Feld.Bewegungsprogrammierung mittels iTween.Installation der iTween-Bibliothek per Package Manager. Bewegung mit iTween. iTween: Easing (Bewegungsabschwächung). Wie werden Parameter an iTween übergeben? Welche Parameter unterstützt iTween.Hash?PfadanimationInstallation des iTween-Pfadeditors per Download. Wie wird eine Pfadanimation in Unity mittels iTween realisiert? Beim Loop springt die Animation.Hierarchische AnimationBones & Rigging. Produktions-Pipeline einer Bones-Animation.ClipsWie wird ein Clip-Asset abgespielt? Animation als Zustandsvisualisierung. Clips auf Zustände (States) abbilden. Zustandsübergänge (Transitions).Typische Probleme im AnimatorWie wird ein Clip im Animator wiederholt? Der Clip wirkt abgeschnitten. Eine dem FBX hinzugefügte Animation erscheint nicht als Clip.Übergänge und Parameter im AnimatorZustandswerte (Parameter). Wie löst C# den Animation-State-Wechsel aus? Fehler: Pro State einen Parameter anlegen. Was bedeuten die Standard-Zustände im Animator?Ebenen und GewichteAnimator-LayerWeitere Animationstechnik: Vertex- AnimationInteraktives Quiz zu diesem KapitelKI und PhysikÜberblick KI / AI in GamesUnitys Physik-SystemCollider: Typische Funktionen. Wann simuliert Unity Physik auf Objekten?Physiksimulation gezielt beeinflussenProblem: Explizite Transformation & Physik stören sich. isKinematic-Eigenschaft.KollisionenOnCollisionEnter und Typische Collider-FunktionenPhysik-bezogener CodeWas gehört in Update bzw. FixedUpdate? Wie werden Objekte gezielt per Physik bewegt?Kollisionsabfrage per Strahlverfolgung (Raycast)Raycast(strahl, .) und grafische Diagnose eines Raycast.Pfadfindung in UnityNavigationsprobleme in der Praxis. Was sind statische Game-Objects?Bewegung per NavMesh-SystemWas sind NavMeshes und NavAgents? Wie wird ein NavMesh in Unity erstellt? Wie wird ein NavAgent in Unity erstellt? Das Navmesh geht nicht bis zum Rand. Wie verhindert ein NavAgent dynamische Objekte?Feinderkennung durch NPCsWie sieht ein NPC ein anderes Objekt? Welche Objekte liegen im Sichtfeld des NPC?Interaktives Quiz zu diesem KapitelKamera-SteuerungSecond-Person-PerspektiveModell der „Gott"-Kamera bzw. Vogelperspektive. Blickweite vs. Clipping, LinienverkürzungPanning-Bewegung der KameraWie wird ein Panning im 3D-Raum realisiert?Third-Person-PerspektiveModell der „Cinematic"-Kamera in Beobachterperspektive. Verfolgerkamera per Parenting umsetzen.ConstraintsWas sind Constraints? Wann Constraints und wann z.B. transform.LookAt?Mehrere Kameras einsetzenWie wird ein Kamerawechsel programmiert?First-Person-PerspektiveModell der „Ego"-Kamera in Normalsicht. Wie ist ein MouseLook aufgebaut? Wie wird ein MouseLook umgesetzt?Essentielle Kamera-EigenschaftenKamera-Eigenschaften, Brennweite, Zoom und DollyExplizites RendernWie wird ein echter Spiegel realisiert?Interaktives Quiz zu diesem KapitelBeleuchtungseffekte in der Universal Render PipelineEinführung BeleuchtungRolle der Beleuchtung, Beleuchtungsarten in UnityIndirektes LichtWie wird indirektes Licht in Unity aufgesetzt?Probleme beim indirekten LichtMein Mesh empfängt kein indirektes Licht. Lightmaps ignorieren dynamische Objekte. Wie werden bewegliche Objekte indirekt beleuchtet?SpiegelungenSpiegelungen per Lichtsystem, Performance von Reflexionen verbessern.Gerichtetes LichtUmgebungslichtLicht der SkyboxPunkt- und KegellichtFlächen-LichtMaterial-EmissionenSchattenSchattenwurf konfigurieren, komplexe Schatten simulieren: Ambient OcclusionTransparenzAlpha-TransparenzProgrammierung eines FlackerlichtsInteraktives Quiz zu diesem Kapitel2D-Grafik und GUIWie unterscheidet sich 2D von 3D in Unity?Ist mein Projekt 2D oder 3D?SpritesWas sind Sprites? Sprites in der (3D-)Szene rendernAnimation von SpritesUnity-Keyframe-Animation aufsetzen2D-Physik und KollisionenCanvas-Layout-System (UGUI), Bild-Eigenschaften von Spielszenen, Bild-Eigenschaften von GUI-Elementen, Kernbestandteile von Unitys GUI-System. Wie wird das UI-Layout-System angelegt?Grundlagen des CanvasRectTransform, Werkzeuge für UI-Bearbeitung, RectTransform: Pivotpunkt und Anker.Dynamische LayoutsProblem: Elemente überlappen sich bei wenig Platz. RectTransform: Anker-Streckung. Ergebnis bei Änderung der Bildschirmgröße. Wie wird eine Vignette oder ein Bloodscreen realisiert?UI-Skalierung aufgrund der BildschirmgrößeProblem bei Größenänderung mit Inhaltsblöcken, Canvas Scaler, Prinzip von Scale With Screen Size.Skalierbare SpritesUnterschied Skalierung und Größenänderung. Was ist ein 9-Slice oder 9-Grid?AutolayoutsWie werden GUI-Elemente als Liste angeordnet?Event SystemWie wird eine Methode an einen GUI-Button gebunden?Interaktives Quiz zu diesem KapitelDaten und PersistenzHintergrund zur Notwendigkeit der DatentrennungDas Spiel als Zustandssammlung persistente und transiente Informationen. Spielmechaniken nach J. Schell (Wh. Game Design) Objekte, Attribute, Status. Inspiration: Endlicher Automat.Daten vom Szenengraph trennenWie werden Spielinhalt und Darstellung getrennt? Warum ist die strenge Trennung von Daten und Darstellung wichtig? Fehler: Datenobjekte und Engineobjekte mischenSpielobjekt durch Spieldaten steuernSonnenlichtwinkel durch Uhrzeit steuernSpeichern und Laden von Daten„Serialisierung" und „Deserialisierung". Wie wird ein Daten-Objekt in einen String konvertiert?Daten/Dateien schreiben und lesenWohin werden Savegames gespeichert? Woraus entsteht Application.persistentDataPath?Scriptable ObjectsSerialisierungsformen in Unity. Wie wird ein Scriptable Object erzeugt und benutzt?SzenenmanagementWie wird zu einer anderen Szene gewechselt?Wie bleiben Daten über Szenenwechsel hinweg erhalten?Laden und Mischen mehrerer Szenen. DontDestroyonload.Interaktives Quiz zu diesem KapitelSchreibe Dich jetzt ein, um sofort Zugriff auf all diese Inhalte zu bekommen!
Who this course is forFrontend- und Fullstack-Entwickler mit ersten Programmierkenntnissen,Alle die einen technischen Einstieg in Unity suchen
Buy Premium Account From My Download Links & Get Fastest Speed.