# MMI2 – Flugsimulator-Projekt (Unity)

| Tool | Version / Hinweis |
|------|-------------------|
| **Unity Hub** | Aktuelle Version installieren |
| **Unity Editor** | **6000.2.1f1** (Unity 6) |
| **Git** (optional) | Zum Klonen und Abgeben des Repos |

Beim ersten Öffnen lädt Unity Pakete nach (URP, Input System, Cinemachine, …). Das kann einige Minuten dauern.

---

## Projekt öffnen (wichtig!)

Das Unity-Projekt liegt **nicht** im obersten Git-Ordner, sondern hier:

```
mmi2-project/
├── README.md          ← diese Datei
├── .gitignore
└── MMI2-project/      ← DIESEN Ordner in Unity Hub öffnen
    ├── Assets/
    ├── Packages/
    └── ProjectSettings/
```

**Unity Hub → Add → Ordner `MMI2-project` auswählen → Open**

Die Hauptszene zum Testen:

**`Assets/Scenes/PlaneScene.unity`**

Doppelklick in der Project-Ansicht, dann oben **Play ▶**.

---

## So funktioniert das Spiel (Überblick)

```mermaid
flowchart LR
    A[Start / Flug] --> B[Ring 1]
    B --> C[Ring 2]
    C --> D[Ring 3]
    D --> E[Konsole: Landen!]
    E --> F[Landebahn / Runway]
```

1. Du startest im **Flugmodus** (`Flying`).
2. **`RingCourseTracker`** zählt, welche Ringe du in **fester Reihenfolge** durchflogen hast.
3. Nach dem letzten Ring erscheint in der **Console** die Aufforderung zu landen.
4. Mit dem **Asset „Simple Airplane Controller“** landest du über die **Runway** (Landezone).

Fortschritt siehst du in der **Console** (Fenster: *Window → General → Console*), z. B.:

`[RingCourse] Ring 2/3 passed: Ring`

---

## Steuerung (Tastatur)

| Taste | Funktion |
|-------|----------|
| **W / S** oder **Pfeil hoch/runter** | Nicken (Pitch) |
| **A / D** oder **Pfeil links/rechts** | Rollen |
| **Q / E** | Gieren (Yaw) |
| **Linke Umschalttaste** | Turbo |
| **Leertaste** | Nach Landung: wieder starten (auf der Runway) |

**Tipp:** Einmal in die **Game**-Ansicht klicken, damit die Tastatur im Spiel ankommt (nicht im Inspector).

---

## Wichtige Ordner in `Assets/`

| Ordner / Datei | Inhalt |
|----------------|--------|
| **`Scenes/PlaneScene.unity`** | Unsere Hauptszene (Flugzeug, Ringe, Terrain, …) |
| **`Scripts/`** | Eigene Skripte für den Ring-Kurs (siehe unten) |
| **`HeneGames/Simple Airplane Controller/`** | Asset Store: Flugzeug, Physik, Kamera, Runway, Beispiel-Szenen |
| **`Settings/`** | URP-Grafikeinstellungen (Universal Render Pipeline) |

---

## Externes Asset: Simple Airplane Controller

- Herkunft: [Asset Store – Simple Airplane Controller](https://assetstore.unity.com/packages/tools/game-toolkits/simple-airplane-controller-228575)
- Enthält: Flugzeug-Prefabs, **Runway**, Landezone, Sounds, Beispiel-Szenen unter `Example scenes/`
- Steuerung und Physik: `SimpleAirPlaneController.cs`, Eingaben über `SimpleAirplaneInput.cs` (Input System + Fallback)

**Render Pipeline:** Projekt nutzt **URP** (Universal Render Pipeline). Materialien des Assets wurden auf URP-Shaders umgestellt (sonst **pinke** Objekte).

---

Bei Problemen oder Fragen gerne an mich per Mail an **tom.hempel@hs-coburg.de** wenden.