Projektbeschreibung

Dieses Projekt dient zur Recherche von Unity UI, genauer gesagt Unity UGUI, insbesondere zur Umsetzung von UI für die Plattform Mobile. Ziel ist es fundiertes Wissen über das System aufzubauen, was anderen Studenten und schlussendlich auch mir selbst, die Arbeit oder gar den Einstieg erleichtert bzw. als Nachschlagewerk für zukünftige Arbeit dient.

Mein Plan ist es von Anfang September bis Ende des Jahres mit ca. 20 Stunden pro Woche an dem Projekt zu arbeiten. In den ersten zwei Monaten möchte ich ausschließlich recherchieren, dann im November mein Material zusammenfassen, um dann im fließenden Übergang bis Ende Dezember eine Dokumentation mit aussagekräftigen Beispielen in Form eines Wikis im übergeordneten Wiki des Gamesmaster zu erstellen.

Finale Zeitaufschlüsselung
DatumTätigkeitStunden
05.09.2023 - 08.09.2023Recherche:
  • Layout
    • Grundlagen
16
11.09.2023 - 15.09.2023
    • Basic Layout
20
18.09.2023 - 29.09.2023
    • Auto Layout
40
02.10.2023 - 06.10.2023
      • Flexibles Layout
16
09.10.2023 - 13.10.2023
  • Canvas
20
16.10.2023 - 20.10.2023
  • Layering
    • Grundlagen
    • Sorting Group
20
23.10.2023 - 27.10.2023
    • Partikel in der UI
20
30.10.2023 - 03.11.2023
  • UI Design Tools
16
06.10.2023 - 10.10.2023
  • Prefab Workflow
20

13.11.2023 - 14.11.2023

  • Safe Zone
8

15.11.2023 - 24.11.2023

  • Performance Best Practices
32

27.11.2023 - 01.12.2023

Zusammenfassung:

  • Layout
20

04.12.2023 - 05.12.2023

  • Canvas
8

06.12.2023 - 08.12.2023

  • Layering
12

11.12.2023

  • Figma (UI Design Tool)
4

12.12.2023 - 13.12.2023

  • Prefab Workflow
8

14.12.2023 - 18.12.2023

  • Performance Tipps
12

19.12.2023 - 20.12.2023

  • Safe Zone
8

21.12.2023 - 22.12.2023

Dokumentation:

  • Wiki aufsetzen
8

27.12.2023 - 29.12.2023

  • Beispiele für Wiki generieren
6

02.01.2024 - 05.01.2024

  • Wiki überarbeiten
12





Gesamt:326

Kapitelbeschreibung

Im Folgenden sollen die entstanden Kapitel meiner Recherche beschrieben werden, welche als untergeordneten Seiten zu diesem Wiki existieren.

Layout

Als Start meiner Recherche beginnt dieses Kapitel mit den absoluten Basics:

  1. RectTransform
  2. Pivot
  3. Relatives Layout mit Ankern

Genauer gesagt wird zunächst erklärt, wie man Position, Größe und Rotation von UI setzt, um danach erstes Layouting mit dem gängigen Konzept von Ankern zu betreiben.

Nach den Grundlagen wird Unitys Auto Layout erklärt, ein System zur automatischen Berechnung und Veränderung von Layouts, basierend auf Layoutelementen und -controllern. Mit Beispielen wird dargelegt, wie sich Größen im Auto Layout errechnen bzw. erklären lassen.

Schlussendlich gibt es noch einige Lösungsansätze, wie man flexible Layouts erstellt, die dynamisch Leerraum entstehen lassen - was für die vielen unterschiedlichen Auflösungen auf dem mobilen Markt unabdingbar ist.

Canvas

Das zweite Grundlagenkapitel dreht sich um das Canvas, den Container der UI. Es wird neben seiner grundlegenden Funktionalität auch die Renderreihenfolge - innerhalb des Canvas und gegen die Welt - beschrieben.

Genau wie am Ende des vorherigen Kapitels, wird beschrieben, wie das Canvas mit unterschiedlichen Displayauflösungen umgehen kann.

Layering

Im Kapitel über Layering geht es nicht nur um die UI, sondern auch um den Rest der Szene. Das Sortieren von Transparenten Objekten wird grundlegend erläutert, um dann verschiedene Ansätze vorzustellen, wie man seine UI gegen die Welt und umgekehrt sortieren kann.

Es wird geklärt, wie man dafür sorgt, dass die UI immer sichtbar ist, weil sie vor dem Spiel liegt oder umgekehrt, unsichtbar hinter dem Spiel verschwinden kann, um ggf. später wieder hervorzukommen.

Insbesondere Partikeleffekte sind in der UI ein Sonderthema, was hier erläutert wird. Neben verschiedenen Ansätzen gibt es zuletzt auch ein Package, das Nutzern die Sache vereinfacht.

Safe Zone

Die Safe Zone ist ein Konzept aus mobiler Entwicklung, welches essentiell für aktuelle UI ist. Heutzutage haben die wenigsten Geräte noch einen nennenswerten Displayrand und die Kamera ist in den Bildschirm eingefasst. Wie man um die sog. Notches herum arbeitet wird in diesem Kapitel erläutert.

UI Design Tools

Ein kurzer Abstecher außerhalb von Unity. UI Design Tools helfen massiv bei Design und Bau, nicht nur Designern, sondern auch Entwicklern. Ich möchte in diesem Kapitel ihren Mehrwert erklären und eine unbedingte Empfehlung für ihre Nutzung aussprechen.

Prefab Workflow

Prefabs sind ein grundlegendes Unity Konzept, dessen Verständnis für dieses Kapitel bereits vorausgesetzt ist. Angelehnt an den Workflow in den zuvor beschriebenen Design-Tools, beschreibe ich hier meine Art und Weise Prefabs für die UI zu verwenden. Das Ganze hat als Ziel Workflow und Struktur zu vereinheitlichen, sowohl innerhalb von Unity, als auch mit Tooling bzw. Designern außerhalb davon.
Da es in diese Kategorie passt, befindet sich hier auch ein Abschnitt über die Benennung von Objekten, eine Aufgabe die vor allem Programmierer ständig haben. Dafür stelle ich ein einfaches Schema vor, welches man als Startpunkt benutzen kann.

Performance Tipps

Als Letztes möchte ich noch ein paar Tipps dazu geben, wie man die Performance des eigenen Spiels verbessert bzw. eher, wie man verhindert, dass die UI die Performance schluckt. Dazu gehe ich näher auf ein paar in diversen Blogs/Talks von Unity aufgezeigten Problemen ein.

  • No labels