Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website, Klausur-Service, School-Service, Voice-Service, Geo-Service, BreakPilot Drive, Agent-Core Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7.7 KiB
7.7 KiB
Breakpilot Drive - Prefab Konfiguration
Diese Anleitung beschreibt, wie die Prefabs fuer das Spiel konfiguriert werden.
1. Spieler-Auto (Player)
Prefab erstellen
- Aus Kenney Car Kit ein Auto waehlen
- In die Szene ziehen
- Umbenennen zu "PlayerCar"
Komponenten
| Komponente | Einstellungen |
|---|---|
| Transform | Position: (0, 0, 0), Scale: (1, 1, 1) |
| Rigidbody | Use Gravity: false, Is Kinematic: true |
| Box Collider | Is Trigger: false, Size an Auto anpassen |
| PlayerController | Lane Distance: 3, Lane Switch Speed: 10 |
Inspector-Einstellungen (PlayerController)
Bewegung:
Lane Distance: 3
Lane Switch Speed: 10
Forward Speed: 10
Spuren:
Current Lane: 1 (Mitte)
Touch-Steuerung:
Swipe Threshold: 50
Effekte:
Crash Effect: (ParticleSystem zuweisen)
Collect Effect: (ParticleSystem zuweisen)
Tag
- Tag: Player
Speichern
- Aus Hierarchy in
Assets/Prefabs/Player/ziehen - Name:
PlayerCar.prefab
2. Strecken-Segment (Track)
Prefab erstellen
- Leeres GameObject: "TrackSegment"
- Boden erstellen:
- 3D Object → Plane
- Scale: (5, 1, 5) fuer 50m Laenge
- Material: Strassen-Textur
Struktur
TrackSegment
├── Ground (Plane mit Strassen-Material)
├── LeftBorder (optional, Leitplanke)
├── RightBorder (optional, Leitplanke)
└── SpawnPoints (leeres GO fuer Hindernis-Positionen)
Speichern
- Mehrere Varianten erstellen (gerade, Kurve, etc.)
- In
Assets/Prefabs/Track/speichern
3. Hindernisse (Obstacles)
Hindernis-Prefab erstellen
- Aus Kenney Nature Kit: Stein, Baum, etc. waehlen
- In Szene ziehen
- Umbenennen (z.B. "Obstacle_Rock")
Komponenten
| Komponente | Einstellungen |
|---|---|
| Box Collider | Is Trigger: true, Size anpassen |
Tag
- Tag: Obstacle
Prefab-Varianten
| Name | Beschreibung | Groesse |
|---|---|---|
Obstacle_Rock.prefab |
Kleiner Stein | 1 Spur |
Obstacle_Tree.prefab |
Umgefallener Baum | 2 Spuren |
Obstacle_Barrier.prefab |
Absperrung | 1-2 Spuren |
Obstacle_Cone.prefab |
Verkehrskegel | 1 Spur |
Speichern
- In
Assets/Prefabs/Obstacles/speichern
4. Sammelbare Items
Coin-Prefab
- 3D Object → Cylinder (oder Kenney Asset)
- Scale: (0.5, 0.1, 0.5)
- Material: Gold
| Komponente | Einstellungen |
|---|---|
| Sphere Collider | Is Trigger: true, Radius: 0.5 |
| Rotation Script | (optional, fuer Dreh-Animation) |
- Tag: Coin
- Prefab:
Assets/Prefabs/Items/Coin.prefab
Star-Prefab
- Star-Modell (oder Kenney Asset)
- Groesser als Coin
| Komponente | Einstellungen |
|---|---|
| Sphere Collider | Is Trigger: true, Radius: 0.7 |
- Tag: Star
- Prefab:
Assets/Prefabs/Items/Star.prefab
Shield-Prefab
- Shield-Modell
- Blauer Schimmer-Effekt
| Komponente | Einstellungen |
|---|---|
| Sphere Collider | Is Trigger: true, Radius: 0.7 |
- Tag: Shield
- Prefab:
Assets/Prefabs/Items/Shield.prefab
5. Quiz-Trigger (Visual Triggers)
Bridge-Prefab
- Aus Kenney Assets oder selbst erstellen
- Muss ueber der Strasse sein (Y-Position erhoehen)
Struktur
Bridge
├── BridgeModel (visuelles Modell)
└── TriggerZone (leeres GO mit Collider)
└── Box Collider (Is Trigger: true)
└── VisualTrigger.cs (Trigger Type: "bridge")
Komponenten (TriggerZone)
| Komponente | Einstellungen |
|---|---|
| Box Collider | Is Trigger: true, Size: (10, 5, 2) |
| VisualTrigger | Trigger Type: "bridge" |
- Tag: QuizTrigger
Weitere Trigger
| Prefab | Trigger Type | Beschreibung |
|---|---|---|
Bridge.prefab |
"bridge" | Bruecke ueber Strasse |
Tree.prefab |
"tree" | Grosser Baum am Rand |
House.prefab |
"house" | Haus am Rand |
Sign.prefab |
"sign" | Schild mit Bild |
Speichern
- In
Assets/Prefabs/VisualTriggers/speichern
6. Manager-Objekte
Diese werden nicht als Prefabs, sondern direkt in der Szene erstellt:
GameManager
GameObject: GameManager
Scripts:
- GameManager.cs
Inspector:
Start Lives: 3
Pause Question Interval: 500
Game Over Panel: (UI Referenz)
Pause Panel: (UI Referenz)
QuizManager
GameObject: QuizManager
Scripts:
- QuizManager.cs
Inspector:
Quick Quiz Panel: (UI Referenz)
Pause Quiz Panel: (UI Referenz)
Question Text: (TextMeshPro Referenz)
Answer Buttons: [Button0, Button1, Button2, Button3]
Timer Text: (TextMeshPro Referenz)
Timer Slider: (Slider Referenz)
Points Correct: 500
Points Wrong: -100
Pause Question Interval: 500
TrackGenerator
GameObject: TrackGenerator
Scripts:
- TrackGenerator.cs
Inspector:
Track Segment Prefabs: [Segment1, Segment2, ...]
Start Segment Prefab: (Start-Segment)
Segment Length: 50
Visible Segments: 5
Despawn Distance: -20
Base Speed: 10
ObstacleSpawner
GameObject: ObstacleSpawner
Scripts:
- ObstacleSpawner.cs
Inspector:
Obstacle Prefabs: [Rock, Tree, Barrier, ...]
Large Obstacle Prefabs: [LargeTree, ...]
Coin Prefab: (Coin.prefab)
Star Prefab: (Star.prefab)
Shield Prefab: (Shield.prefab)
Bridge Prefab: (Bridge.prefab)
Tree Prefab: (Tree.prefab)
House Prefab: (House.prefab)
Lane Distance: 3
Min Obstacle Spacing: 10
Max Obstacle Spacing: 30
Obstacle Chance: 0.6
Coin Chance: 0.3
Star Chance: 0.05
Shield Chance: 0.02
Quiz Trigger Chance: 0.1
BreakpilotAPI
GameObject: BreakpilotAPI
Scripts:
- BreakpilotAPI.cs
Inspector:
Base URL: http://localhost:8000/api/game
Use Offline Cache: true
7. UI Canvas
Canvas erstellen
- Rechtsklick in Hierarchy → UI → Canvas
- Canvas Scaler:
- UI Scale Mode: Scale With Screen Size
- Reference Resolution: 1920 x 1080
UI Struktur
Canvas
├── GameHUD
│ ├── ScorePanel
│ │ ├── ScoreIcon
│ │ └── ScoreText (TextMeshPro)
│ ├── LivesPanel
│ │ ├── Heart1, Heart2, Heart3 (Images)
│ │ └── LivesText (TextMeshPro)
│ └── DistanceText (TextMeshPro)
│
├── QuickQuizPanel (anfangs deaktiviert)
│ ├── QuestionText (TextMeshPro)
│ ├── AnswerButtons
│ │ ├── Button1, Button2, Button3
│ ├── TimerSlider
│ └── TimerText
│
├── PauseQuizPanel (anfangs deaktiviert)
│ ├── Background (halbtransparent)
│ ├── QuestionPanel
│ │ ├── QuestionText
│ │ ├── Button1, Button2, Button3, Button4
│ │ └── HintText (optional)
│
├── GameOverPanel (anfangs deaktiviert)
│ ├── GameOverText
│ ├── FinalScoreText
│ ├── RestartButton
│ └── MainMenuButton
│
└── PausePanel (anfangs deaktiviert)
├── PauseText
├── ResumeButton
└── MainMenuButton
8. Checkliste
Prefabs erstellt?
- PlayerCar.prefab
- TrackSegment.prefab (mindestens 1)
- Obstacle_Rock.prefab
- Coin.prefab
- Star.prefab
- Shield.prefab
- Bridge.prefab (Quiz-Trigger)
Manager konfiguriert?
- GameManager - alle UI Referenzen gesetzt
- QuizManager - alle UI Referenzen gesetzt
- TrackGenerator - Prefabs zugewiesen
- ObstacleSpawner - Prefabs zugewiesen
- BreakpilotAPI - Base URL korrekt
Tags erstellt?
- Player
- Obstacle
- Coin
- Star
- Shield
- QuizTrigger
UI Canvas?
- Canvas Scaler konfiguriert
- GameHUD erstellt
- QuickQuizPanel erstellt
- PauseQuizPanel erstellt
- GameOverPanel erstellt