Unity: Unterschied zwischen den Versionen

Aus hyperdramatik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Unity ist eine Game-Engine, in der allerlei Spiele und Möglichkeiten umgesetzt werden können.
== Was ist Unity?==
Unity ist ein Programm, mit dessen Hilfe man eigene interaktive Applikationen und Visualisierungen herstellen kann. In Unity können wir eigene virtuelle Räume mit Hilfe des Unity Editors gestalten und mit eigenen Scripten, die in der Programmiersprache C# geschrieben werden, eigene Interaktionen in diesen Räumen festlegen.<br>


[[Datei:Unity_Interface.jpg|600px]]
Unity wird oft auch als Game-Engine beschrieben.


Dort können eigene Skripts via C# eingebunden werden und gängige
== Für welche Geräte kann ich Unity nutzen?==
[http://hyperdramatik.net/mediawiki/index.php?title=Algorithms#Unity Algorithmen] verwendet werden.
Wir benutzen den Unity Editor unter Windows 10, er läuft aber auch unter Mac OS.<br>
Im Unterricht nutzen wir den Unity Editor um Programme zu gestalten, die auf Windows, Mac OS, Android und WebGL laufen können. Man kann Unity zwar dafür verwenden, Programme für iOS zu gestalten, unser Studiengang deckt diese prozesse allerdings nicht ab.


==Welche Version von Unity nutzen wir?==
Wir verwenden für die Verwaltung unserer Projekte und Unity Versionen das programm '''Unity Hub'''. Damit ist es möglich, mehrere Versionen von Unity gleichzeitig installiert zu haben und jedes Projekt mit unterschiedlichen Versionen des Unity Editors zu bearbeiten.
Die momentan im Unterricht genutzten Versionen von Unity sind '''2020.3.x''' und '''2019.4.x'''.
Innerhalb der Stelle hinter dem zweiten Punkt in der Versionsnummer von Unity sollten Updates des Unity Editors für gewöhnlich kein Problem sein. Projekte die in 2019.4.12 angefangen wurden sollten problemlos unter 2019.4.18 laufen. Es empfiehlt sich nicht, alte Projekte mit grösseren Versionsunterschieden in neueren Versionen von Unity zu öffnen.


== Code Snippets ==
==Terminologie im Unity Editor==
[[Datei:Unity_Interface.jpg|1024px]]
 
==Begriffe==
* '''Projekt''' - ein Ordner auf dem Computer in dem sich eine ganze Reihe weiterer Ordner befinden. Es gibt nicht eine einzelne Projektdatei, sondern eine ganze Struktur an Dateien und Ordnern aus denen der Unity Editor das Projekt erstellt und manipulierbar macht. Deswegen lohnt es sich, Unity Projekte über den Unity Hub zu verwalten. Der Ablageort eines Projektes auf der Festplatte kann sich verschieben, solange die in ihm enthaltene Verzeichnisstruktur gewahrt bleibt.
* '''Szene''' - eine Datei im Asset Folder von Unity, in der eine bestimmte Konfiguration von GameObjects und Verknüpfungen zwischen ihnen gespeichert ist.
* '''GameObject''' - ein GameObject ist eine Datenstruktur innerhalb einer Szene in Unity. Alle GameObjects, unabhängig davon ob sie eine visuelle Repräsentation haben, sind in der Hierarchy ausgeführt. Scripte können für gewöhnlich nur ausgeführt werden, wenn sie als Component eines gameObjects in der Szene vorhanden sind.
* '''Script''' - unter einem Script verstehen wir eine mit Visual Studio in C# geschriebene Datei, die wir im Editor als Component auf GameObjects legen können, damit das Script ausgeführt wird. Scripts können auf mehrere GameObjects gleichzeitig gelegt werden, oder auch mehrmals auf dasselbe GameObject und laufen als eigenständige Instanzen jeweils so oft, wie sie in der Szene vorkommen.
* '''Component''' - ein Script als Teil eines GameObjects, dessen Variablen ich sowohl über den Inspector im Unity Editor, als auch über ein eigenes Script verändern kann.
* '''Asset Folder''' - ein Ordner in der Unity Projektstruktur, in dem alle für das Projekt benötigten Scripte, Audio-, Bild-, Video-, 3D und Textdateien abgelegt werden. Diese Dateien werden oft auch Assets genannt. Unity scannt diesen Ordner jedesmal, wenn der Unity-Editor in Windows in den Focus tritt und importiert sämtliche im Ordner befindlichen Dateien automatisch in das Projekt.
* '''Build''' - ein unabhängig vom Editor ausführbares programm erstellen nennt man auch einen Build machen. Da Unity sämtliche Dateien im Asset-Folder direkt ins Projekt importieren möchte, empfiehlt es sich, diese von Unity erstellten Dateien in einem eigenen Ordner ausserhalb des Asset-Folders aber innerhalb des Projektordners zu speichern.
 
==Eingabe und Ausgabe in Unity==
Interaktion in Unity Projekten entsteht erst, wenn die Eingabe von Nutzer*innen mit Veränderungen in der Gestaltung der Unity Szene verknüpft wird.
*[[Input in Unity]]
* [[Output in Unity]]
 
==Mein Build funktioniert nicht!==
 
* Android builds auf externen Festplatten gehen oft nicht. In dem Fall das Projekt auf die Festplatte des Computers kopieren, auf dem der build ist
* keine umlaute und leerzeichen in dateinamen und ordnern verwenden
* Zu lange Ordnerstrukturen vermeiden (z.B. C:\Users\Ein Name mit Zuname\Dokumente\Unity Test\2021\Oktober\Nur rumprobieren\MeinProjekt Version 12)
* Manche Plugins und Add-ons sind Hardwarespezifisch (z.B. Kinect Addon und NVidia Grafikkarten)
 
== Konzepte und Tutorials ==
* [[Algorithms#Unity|Basic Algorithms]]
* [[Algorithms#Unity|Basic Algorithms]]
* [[Moving_Objects_in_Unity|Moving Objects in Unity]]
* [[Moving_Objects_in_Unity|Moving Objects in Unity]]
* Erstellung eines [[Raycasts]] in Verbindung mit AR
* [[UI in Unity]]
* [[OSC_in_Unity| OSC in Unity]]
* [[Raycasts]] in Unity
* [[Saving_in_Unity | Speichern in Unity]]
 
== Pages related to Unity that need Context and/or Love ==
* [[Mqtt_to_Unity_via_shiftr.io| MQTT, Unity and shiftr.io]]

Aktuelle Version vom 16. November 2021, 12:43 Uhr

Was ist Unity?

Unity ist ein Programm, mit dessen Hilfe man eigene interaktive Applikationen und Visualisierungen herstellen kann. In Unity können wir eigene virtuelle Räume mit Hilfe des Unity Editors gestalten und mit eigenen Scripten, die in der Programmiersprache C# geschrieben werden, eigene Interaktionen in diesen Räumen festlegen.

Unity wird oft auch als Game-Engine beschrieben.

Für welche Geräte kann ich Unity nutzen?

Wir benutzen den Unity Editor unter Windows 10, er läuft aber auch unter Mac OS.
Im Unterricht nutzen wir den Unity Editor um Programme zu gestalten, die auf Windows, Mac OS, Android und WebGL laufen können. Man kann Unity zwar dafür verwenden, Programme für iOS zu gestalten, unser Studiengang deckt diese prozesse allerdings nicht ab.

Welche Version von Unity nutzen wir?

Wir verwenden für die Verwaltung unserer Projekte und Unity Versionen das programm Unity Hub. Damit ist es möglich, mehrere Versionen von Unity gleichzeitig installiert zu haben und jedes Projekt mit unterschiedlichen Versionen des Unity Editors zu bearbeiten. Die momentan im Unterricht genutzten Versionen von Unity sind 2020.3.x und 2019.4.x. Innerhalb der Stelle hinter dem zweiten Punkt in der Versionsnummer von Unity sollten Updates des Unity Editors für gewöhnlich kein Problem sein. Projekte die in 2019.4.12 angefangen wurden sollten problemlos unter 2019.4.18 laufen. Es empfiehlt sich nicht, alte Projekte mit grösseren Versionsunterschieden in neueren Versionen von Unity zu öffnen.

Terminologie im Unity Editor

Unity Interface.jpg

Begriffe

  • Projekt - ein Ordner auf dem Computer in dem sich eine ganze Reihe weiterer Ordner befinden. Es gibt nicht eine einzelne Projektdatei, sondern eine ganze Struktur an Dateien und Ordnern aus denen der Unity Editor das Projekt erstellt und manipulierbar macht. Deswegen lohnt es sich, Unity Projekte über den Unity Hub zu verwalten. Der Ablageort eines Projektes auf der Festplatte kann sich verschieben, solange die in ihm enthaltene Verzeichnisstruktur gewahrt bleibt.
  • Szene - eine Datei im Asset Folder von Unity, in der eine bestimmte Konfiguration von GameObjects und Verknüpfungen zwischen ihnen gespeichert ist.
  • GameObject - ein GameObject ist eine Datenstruktur innerhalb einer Szene in Unity. Alle GameObjects, unabhängig davon ob sie eine visuelle Repräsentation haben, sind in der Hierarchy ausgeführt. Scripte können für gewöhnlich nur ausgeführt werden, wenn sie als Component eines gameObjects in der Szene vorhanden sind.
  • Script - unter einem Script verstehen wir eine mit Visual Studio in C# geschriebene Datei, die wir im Editor als Component auf GameObjects legen können, damit das Script ausgeführt wird. Scripts können auf mehrere GameObjects gleichzeitig gelegt werden, oder auch mehrmals auf dasselbe GameObject und laufen als eigenständige Instanzen jeweils so oft, wie sie in der Szene vorkommen.
  • Component - ein Script als Teil eines GameObjects, dessen Variablen ich sowohl über den Inspector im Unity Editor, als auch über ein eigenes Script verändern kann.
  • Asset Folder - ein Ordner in der Unity Projektstruktur, in dem alle für das Projekt benötigten Scripte, Audio-, Bild-, Video-, 3D und Textdateien abgelegt werden. Diese Dateien werden oft auch Assets genannt. Unity scannt diesen Ordner jedesmal, wenn der Unity-Editor in Windows in den Focus tritt und importiert sämtliche im Ordner befindlichen Dateien automatisch in das Projekt.
  • Build - ein unabhängig vom Editor ausführbares programm erstellen nennt man auch einen Build machen. Da Unity sämtliche Dateien im Asset-Folder direkt ins Projekt importieren möchte, empfiehlt es sich, diese von Unity erstellten Dateien in einem eigenen Ordner ausserhalb des Asset-Folders aber innerhalb des Projektordners zu speichern.

Eingabe und Ausgabe in Unity

Interaktion in Unity Projekten entsteht erst, wenn die Eingabe von Nutzer*innen mit Veränderungen in der Gestaltung der Unity Szene verknüpft wird.

Mein Build funktioniert nicht!

  • Android builds auf externen Festplatten gehen oft nicht. In dem Fall das Projekt auf die Festplatte des Computers kopieren, auf dem der build ist
  • keine umlaute und leerzeichen in dateinamen und ordnern verwenden
  • Zu lange Ordnerstrukturen vermeiden (z.B. C:\Users\Ein Name mit Zuname\Dokumente\Unity Test\2021\Oktober\Nur rumprobieren\MeinProjekt Version 12)
  • Manche Plugins und Add-ons sind Hardwarespezifisch (z.B. Kinect Addon und NVidia Grafikkarten)

Konzepte und Tutorials

Pages related to Unity that need Context and/or Love