- einführung in unity - fachprojekt det ss 2019€¦ · • game engine für 2d und 3d anwendungen...
TRANSCRIPT
![Page 1: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/1.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Fachprojekt DET SS 2019- Einführung in Unity -
![Page 2: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/2.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Einführungin
Unity
2
![Page 3: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/3.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Überblick1. Was ist und was kann Unity2. Editor3. Definitionen4. Scripting5. Interaktionen/Kommunikation6. Ressourcen
3
![Page 4: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/4.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Was ist Unity• Game Engine für 2D und 3D Anwendungen• Programmiersprache C#• Viele unterstützte Plattformen• Großer Asset Store• Kostenfrei bis zu einem bestimmten Umsatz
4
![Page 5: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/5.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Was kann Unity• Sehr viele Spielumsetzungen• Teils schlechter Ruf durch
Spiele bestehend aus Assetsaus dem Store
• 2D, 3D, VR, AR, … Anwendungen• ...
5
![Page 6: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/6.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Was kann UnityRapid Prototyping• https://itch.io/jam/brackeys-2• https://globalgamejam.org/2019/games
6
![Page 7: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/7.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Editor
7
![Page 8: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/8.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Definitionen: Szene• Eine Szene setzt sich aus GameObjects zusammen
8
![Page 9: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/9.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Definitionen: GameObject• GameObjects bestehen aus Komponenten
und erhalten dadurch ein Verhalten
• Ein GameObject hat einen Namen undeinen Tag
9
![Page 10: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/10.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Definitionen: Komponenten• Jedes GameObject hat eine
Transform Komponente• 3D Modelle haben einen
Mesh Filter, einen Mesh Rendererund ein Material
10
![Page 11: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/11.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Definitionen: Physikkomponenten• Rigidbodies und Collider gehören
zur Physics Engine• 3D und 2D Varianten
11
![Page 12: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/12.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Definitionen: Layer• Kollisionserkennung in Abhängigkeit von Layers
12
![Page 13: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/13.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Definitionen: Weitere KomponentenKomponenten für…• Networking• Rendering• 2D• Audio• AI• UI• ...
Weitere Beispiele:• Kamera• Audio Listener• Animator• Line Renderer• Particle System• Sprite Renderer• …
13
![Page 14: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/14.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Definitionen: Prefab• Ein Prefab ist eine Blaupause für ein GabeObject• GameObjects werden als Prefab im Asset Browser
abgespeichert• Prefabs können zur Laufzeit instanziiert werden
14
![Page 15: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/15.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Scripting: MonoBehaviour• Komponenten sind abgeleitete Klassen von
MonoBehaviour
• Eigene Komponenten (oder Scripte) erben von MonoBehaviour
15
![Page 16: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/16.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Scripting: Lifecycle
16
Unity Manual
![Page 17: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/17.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Scripting: Lifecycle
17
Unity Manual
![Page 18: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/18.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Scripting: Lifecycle
18
Unity Manual
![Page 19: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/19.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Scripting: Event Functions• Awake()
– Wird vor Start() ausgeführt• Start()
– Wird vor dem ersten Frame Update ausgeführt• FixedUpdate()
– Wird in konsistenten Zeitintervallen aufgerufen• Update()
– Wird jeden Frame aufgerufen
19
Scripting Reference
![Page 20: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/20.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Scripting: Event Functions• OnEnable() / OnDisable()
– Wird bei der Aktivierung und Deaktivierung von einem GameObject aufgerufen
• OnTrigger() / OnCollision()– Wird bei einer Kollision aufgerufen
• OnDestroy()– Wird aufgerufen, sobald das GameObject zerstört
wird
20
Scripting Reference
![Page 21: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/21.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Interaktionen/Kommunikation• Member Variablen serialisieren:
– [SerializedField] private float carSpeed = 1.0f;oder
– public GameObject car;
21
![Page 22: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/22.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Interaktionen/Kommunikation• Referenzierung von Komponenten per Inspector:
22
![Page 23: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/23.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Interaktionen/Kommunikation• Referenzierung von Komponenten per Script:
– PlayerController playerController= GetComponent<PlayerController >();
23
![Page 24: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/24.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Interaktionen/Kommunikation• Referenzierung von Komponenten per Script:
– GameObject player = GameObject.FindGameObjectWithTag(“Player”);
– PlayerController playerController =player.GetComponent<PlayerController>();
24
![Page 25: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/25.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Interaktionen/Kommunikation• Referenzierung von Komponenten per Script:
– GameObject player = GameObject.FindGameObjectWithTag(“Player”);
– PlayerController playerController =player.GetComponent<PlayerController>();
25
![Page 26: - Einführung in Unity - Fachprojekt DET SS 2019€¦ · • Game Engine für 2D und 3D Anwendungen • Programmiersprache C# • Viele unterstützte Plattformen • Großer Asset](https://reader036.vdokument.com/reader036/viewer/2022070707/5eab5f00020b347f2957d1b7/html5/thumbnails/26.jpg)
Marco Pleines | Dortmund, 02.04.2019
Lehrstuhl 11 Fakultät für Informatik
Ressourcen• Unity User Manual• Unity Scripting Reference• Unity Learn• Unity Standard Assets
26
• Unity3D College• Hollistic3d• Brackeys• Catlike Coding Text Tutorials