|
|
# Interaktionen mit dem XR Interaction Toolkit
|
|
|
|
|
|
## 1. Greifen: Objekte aufheben
|
|
|
- **Komponente:** `XR Grab Interactable`
|
|
|
- **Umsetzung:**
|
|
|
- Komponente zum Objekt hinzufügen.
|
|
|
- Rigidbody: `is Kinematic = true`.
|
|
|
- Optional: `Attach Transform` für präzises Greifen.
|
|
|
|
|
|
## 2. Loslassen: Objekte ablegen/werfen
|
|
|
- **Komponente:** `XR Grab Interactable`
|
|
|
- **Umsetzung:**
|
|
|
- `Throw on Release` aktivieren.
|
|
|
- Rigidbody: `is Kinematic = false` für Wurfphysik.
|
|
|
|
|
|
## 3. Drücken: Knöpfe und Schalter
|
|
|
- **Komponente:** `XR Simple Interactable`
|
|
|
- **Umsetzung:**
|
|
|
- Komponente zum Knopf/Schalter hinzufügen.
|
|
|
- Ereignisse wie Animationen oder Sounds bei Aktivierung triggern.
|
|
|
|
|
|
## 4. Ziehen: Hebel/Schubladen
|
|
|
- **Komponenten:** `XR Grab Interactable`, `Configurable Joint`
|
|
|
- **Umsetzung:**
|
|
|
- `XR Grab Interactable` hinzufügen.
|
|
|
- Bewegungen mit `Linear/Angular Constraints` begrenzen.
|
|
|
|
|
|
## 5. Klopfen: Geräusche erzeugen
|
|
|
- **Komponenten:** `Audio Source`, `OnCollisionEnter`
|
|
|
- **Umsetzung:**
|
|
|
- `Audio Source` mit Klopfgeräusch.
|
|
|
- Aufprallstärke in `OnCollisionEnter` auswerten.
|
|
|
|
|
|
## 6. Stoßen: Türen bewegen
|
|
|
- **Komponenten:** `XR Grab Interactable`, `Hinge Joint`
|
|
|
- **Umsetzung:**
|
|
|
- `Hinge Joint` für rotierende Bewegung.
|
|
|
- Winkel mit Angular Limits begrenzen.
|
|
|
|
|
|
## 7. Wischen: Schmutz entfernen
|
|
|
- **Komponenten:** `XR Direct Interactable`, Shader
|
|
|
- **Umsetzung:**
|
|
|
- Shader mit `Dissolve-Effekt` für Schmutzentfernung.
|
|
|
- Collider, der Wischeffekte bei Kontakt aktiviert.
|
|
|
|
|
|
## 8. Zielen/Werfen: Objekte werfen
|
|
|
- **Komponenten:** `XR Grab Interactable`, Rigidbody
|
|
|
- **Umsetzung:**
|
|
|
- Komponente hinzufügen, Rigidbody aktivieren.
|
|
|
- Optional: Raycast für Zielhilfen/Trajektorien.
|
|
|
|
|
|
---
|
|
|
|
|
|
## Erweiterungen
|
|
|
- **Animationen:** `Animator Controller` für visuelles Feedback.
|
|
|
- **Ereignisse:** `Interactable Events` für Sounds oder Animationen.
|
|
|
- **Audio:** Spatial Audio (z. B. mit Steam Audio) für immersives Feedback.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Level 1: Kamin-Rätsel mit XR Interaction Toolkit
|
|
|
|
|
|
## **1. Bücher finden**
|
|
|
- **Komponente:** `XR Grab Interactable`
|
|
|
- **Umsetzung:**
|
|
|
- Bücher mit `XR Grab Interactable` und `Attach Transform` interaktiv machen.
|
|
|
- Fortschrittsanzeige mit UI-Element (z. B. TextmeshPro).
|
|
|
|
|
|
## **2. Bodendiele öffnen**
|
|
|
- **Komponenten:** `XR Grab Interactable`, `Configurable Joint`
|
|
|
- **Umsetzung:**
|
|
|
- Diele mit `Linear Constraint` nur nach oben beweglich machen.
|
|
|
- Trigger-Event: Zeige einen leeren Schacht nach dem Öffnen.
|
|
|
|
|
|
## **3. Bücher in die Diele legen**
|
|
|
- **Komponenten:** `XR Grab Interactable`, `Trigger Collider`
|
|
|
- **Umsetzung:**
|
|
|
- Trigger erkennt abgelegte Bücher und zählt sie.
|
|
|
- Event löst aus, wenn alle Bücher abgelegt sind.
|
|
|
|
|
|
## **4. Trennwand sichtbar machen und öffnen**
|
|
|
- **Komponente:** `XR Simple Interactable`
|
|
|
- **Umsetzung:**
|
|
|
- Trennwand sichtbar machen, wenn Bücher abgelegt sind.
|
|
|
- Öffnen mit Animation nach Abschluss des Rätsels.
|
|
|
|
|
|
## **5. Klavier und Gedicht**
|
|
|
- **Komponenten:** `XR Simple Interactable`, UI-System
|
|
|
- **Umsetzung:**
|
|
|
- Klavier zeigt Gedicht mit hervorgehobenen Buchstaben.
|
|
|
- Spieler 1 kommuniziert die Buchstaben an Spieler 2.
|
|
|
|
|
|
## **6. Bücherregal von Spieler 2**
|
|
|
- **Komponenten:** `XR Grab Interactable`, Snap Points
|
|
|
- **Umsetzung:**
|
|
|
- Leere Slots im Regal als Snap Points.
|
|
|
- Wand öffnet sich bei korrekter Buchplatzierung.
|
|
|
|
|
|
## **7. Kamin aktiviert**
|
|
|
- **Komponenten:** `XR Simple Interactable`, Shader Graph
|
|
|
- **Umsetzung:**
|
|
|
- Kamin leuchtet je näher Spieler kommen.
|
|
|
- Event: Transport ins nächste Level bei Interaktion.
|
|
|
|
|
|
---
|
|
|
### Zusammenfassung der Komponenten:
|
|
|
- `XR Grab Interactable`
|
|
|
- `XR Simple Interactable`
|
|
|
- `Configurable Joint`
|
|
|
- `Trigger Collider`
|
|
|
- UI-System
|
|
|
- Shader Graph
|
|
|
|
|
|
# Level 2: Badezimmer mit XR Interaction Toolkit
|
|
|
|
|
|
## **1. Spiegel säubern**
|
|
|
- **Ziel:** Spieler 2 putzt den Spiegel, um Hinweise sichtbar zu machen.
|
|
|
- **Komponenten:**
|
|
|
- `XR Direct Interactable` (für Zahnbürste, Zahnpasta, Handtuch)
|
|
|
- Shader mit `Dissolve-Effekt` (für Schmutzentfernung)
|
|
|
- **Umsetzung:**
|
|
|
1. Zahnbürste und Zahnpasta erhalten `XR Direct Interactable`.
|
|
|
2. Beim Kontakt mit dem Spiegel aktiviert ein `Trigger Collider` das Schmutz-Entfernungsskript.
|
|
|
3. Der Shader zeigt langsam den Spiegelinhalt (Textur) frei, je nachdem, wie oft der Spiegel geputzt wurde.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **2. Wasser einlassen**
|
|
|
- **Ziel:** Spieler 1 lässt Wasser in die Badewanne, um Wasserdampf zu erzeugen.
|
|
|
- **Komponenten:**
|
|
|
- `XR Grab Interactable` (für den Wasserhahn)
|
|
|
- `Configurable Joint` (Drehbewegung des Hahns)
|
|
|
- Particle System (Dampfpartikel)
|
|
|
- **Umsetzung:**
|
|
|
1. Der Wasserhahn hat eine `XR Grab Interactable`-Komponente.
|
|
|
2. Eine `Configurable Joint`-Komponente beschränkt die Drehung des Hahns.
|
|
|
3. Sobald der Hahn geöffnet wird, startet ein Event:
|
|
|
- Partikel (Dampf) werden sichtbar.
|
|
|
- Die Wand zeigt über einen Shader oder eine neue Textur die Zahnräder-Anordnung an.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **3. Zahnräder sammeln**
|
|
|
- **Ziel:** Zahnräder müssen in der Szene gesammelt werden.
|
|
|
- **Komponenten:**
|
|
|
- `XR Grab Interactable`
|
|
|
- Rigidbody
|
|
|
- **Umsetzung:**
|
|
|
1. Zahnräder sind physische Objekte mit `XR Grab Interactable` und Rigidbody.
|
|
|
2. Sie können geworfen oder direkt in der Hand transportiert werden.
|
|
|
3. Synchronisation über Multiplayer-System, sodass beide Spieler sehen, welche Zahnräder eingesammelt wurden.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **4. Zahnräder platzieren**
|
|
|
- **Ziel:** Zahnräder an den richtigen Stellen in der Dusche einsetzen.
|
|
|
- **Komponenten:**
|
|
|
- Snap Points (Collider für korrekte Platzierung)
|
|
|
- `Trigger Collider` (zur Überprüfung der Korrektheit)
|
|
|
- **Umsetzung:**
|
|
|
1. In der Dusche sind Snap Points für die Zahnräder definiert.
|
|
|
2. Ein `Trigger Collider` überprüft, ob das eingesetzte Zahnrad korrekt ist.
|
|
|
3. Feedback (z. B. Sound oder Leuchten) zeigt an, wenn ein Zahnrad richtig platziert wurde.
|
|
|
4. Fortschritt wird gespeichert und synchronisiert.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **5. Zielen/Werfen: Zahnräder in die Dusche werfen**
|
|
|
- **Ziel:** Zahnräder können über die Duschwand geworfen werden.
|
|
|
- **Komponenten:**
|
|
|
- `XR Grab Interactable` (für die Zahnräder)
|
|
|
- Rigidbody (für Wurfphysik)
|
|
|
- **Umsetzung:**
|
|
|
1. Zahnräder bleiben mit `XR Grab Interactable` interaktiv.
|
|
|
2. Beim Loslassen wird die Bewegung mit Rigidbody und Controller-Daten (Wurfkraft) berechnet.
|
|
|
3. Ein `Trigger Collider` erkennt Zahnräder, die die Duschwand erreichen, und positioniert sie korrekt in einem Snap Point.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **6. Gemeinsames Leiern**
|
|
|
- **Ziel:** Beide Spieler müssen gleichzeitig leiern, um die Dusche zu öffnen.
|
|
|
- **Komponenten:**
|
|
|
- `XR Simple Interactable` (für die Leier)
|
|
|
- Input-System (für Synchronisierung)
|
|
|
- **Umsetzung:**
|
|
|
1. Zwei Leiern sind mit `XR Simple Interactable` interaktiv.
|
|
|
2. Synchronisation: Beide Spieler müssen innerhalb eines Zeitfensters den Leier-Input aktivieren.
|
|
|
3. Ein Event wird ausgelöst, wenn beide korrekt leiern: Die Duschwand öffnet sich mit einer Animation.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **7. Badezimmertür öffnen**
|
|
|
- **Ziel:** Beide Spieler müssen nach Abschluss des Rätsels durch die Tür gehen.
|
|
|
- **Komponenten:**
|
|
|
- `XR Simple Interactable` (für die Tür)
|
|
|
- Animation (Tür öffnet sich langsam)
|
|
|
- **Umsetzung:**
|
|
|
1. Die Tür ist mit einer `XR Simple Interactable`-Komponente versehen.
|
|
|
2. Die Tür öffnet sich erst, wenn alle Zahnräder korrekt platziert wurden und die Dusche geöffnet wurde.
|
|
|
3. Die Tür aktiviert einen Trigger für den Szenenwechsel, sobald beide Spieler hindurchgehen.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **Zusammenfassung der Komponenten:**
|
|
|
- `XR Grab Interactable`: Zahnräder, Wasserhahn
|
|
|
- `XR Direct Interactable`: Zahnbürste, Zahnpasta, Handtuch
|
|
|
- `Configurable Joint`: Wasserhahn
|
|
|
- Snap Points: Zahnräder in der Dusche
|
|
|
- `XR Simple Interactable`: Leiern, Badezimmertür
|
|
|
- Shader mit `Dissolve-Effekt`: Spiegel
|
|
|
- Particle System: Wasserdampf
|
|
|
- Trigger Collider: Fortschritt und Korrektheit der Aktionen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Level 3: Küche mit XR Interaction Toolkit
|
|
|
|
|
|
## **1. Zutaten sammeln**
|
|
|
- **Ziel:** Spieler 1 sammelt Zutaten aus der Küche.
|
|
|
- **Komponenten:**
|
|
|
- `XR Grab Interactable` (für alle Zutaten)
|
|
|
- Rigidbody (für physische Bewegung der Objekte)
|
|
|
- **Umsetzung:**
|
|
|
1. Zutaten sind interaktive Objekte mit `XR Grab Interactable`.
|
|
|
2. Ein `Attach Transform` sorgt dafür, dass die Objekte korrekt in der Hand gehalten werden.
|
|
|
3. UI-Elemente können verwendet werden, um den Fortschritt anzuzeigen (z. B. „Fehlende Zutaten: 2“).
|
|
|
|
|
|
---
|
|
|
|
|
|
## **2. Zutaten durch die Durchreiche transportieren**
|
|
|
- **Ziel:** Spieler 1 gibt Zutaten durch die Durchreiche an Spieler 2 weiter.
|
|
|
- **Komponenten:**
|
|
|
- `XR Grab Interactable` (für Zutaten)
|
|
|
- `Trigger Collider` (an der Durchreiche)
|
|
|
- **Umsetzung:**
|
|
|
1. Die Durchreiche ist mit einem `Trigger Collider` ausgestattet, der erkennt, wenn eine Zutat hindurchgegeben wird.
|
|
|
2. Öffnen/Schließen der Durchreiche wird durch ein `XR Simple Interactable` gesteuert.
|
|
|
3. Event: Synchronisiere die Zutat auf der Seite des anderen Spielers.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **3. Rezept entschlüsseln**
|
|
|
- **Ziel:** Spieler 2 löst ein Rätsel durch das Blättern im Rezeptbuch.
|
|
|
- **Komponenten:**
|
|
|
- `XR Simple Interactable` (für das Blättern im Buch)
|
|
|
- UI-System (für die Rezeptanzeige)
|
|
|
- **Umsetzung:**
|
|
|
1. Das Rezeptbuch hat eine `XR Simple Interactable`-Komponente zum Umblättern.
|
|
|
2. Hinweise im Buch (z. B. hervorgehobene Worte) werden durch UI angezeigt.
|
|
|
3. Spieler 2 kommuniziert die Informationen an Spieler 1.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **4. Magisches Rezept aktivieren**
|
|
|
- **Ziel:** Spieler 2 aktiviert das Rezept durch Eingabe einer Nummer.
|
|
|
- **Komponenten:**
|
|
|
- `XR Simple Interactable` (für Knöpfe)
|
|
|
- UI-System (zur Anzeige des Codes)
|
|
|
- **Umsetzung:**
|
|
|
1. Die Knöpfe am Tisch haben `XR Simple Interactable`-Komponenten.
|
|
|
2. Spieler 1 teilt eine Nummer aus der Gebrauchsanweisung mit.
|
|
|
3. Spieler 2 gibt die Nummer in der richtigen Reihenfolge ein, um das Rezept zu aktivieren.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **5. Löffel finden**
|
|
|
- **Ziel:** Spieler 1 öffnet eine Schublade, um den Löffel zu finden.
|
|
|
- **Komponenten:**
|
|
|
- `XR Grab Interactable` (für die Schublade)
|
|
|
- `Configurable Joint` (für lineare Bewegung)
|
|
|
- `Trigger Collider` (zur Erkennung des Löffels)
|
|
|
- **Umsetzung:**
|
|
|
1. Die Schublade ist mit `XR Grab Interactable` und einem `Configurable Joint` ausgestattet.
|
|
|
2. Der Löffel erscheint erst, wenn das magische Rezept aktiviert wurde.
|
|
|
3. Ein `Trigger Collider` erkennt, wenn die Schublade vollständig geöffnet ist, und zeigt den Löffel an.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **6. Gemeinsam umrühren**
|
|
|
- **Ziel:** Spieler 1 und 2 rühren gemeinsam, um das Gericht fertigzustellen.
|
|
|
- **Komponenten:**
|
|
|
- `XR Simple Interactable` (für den Löffel)
|
|
|
- Input-System (zur Synchronisation der Bewegung)
|
|
|
- **Umsetzung:**
|
|
|
1. Beide Spieler greifen denselben Löffel (mit `XR Grab Interactable`).
|
|
|
2. Gemeinsame Bewegungen müssen synchronisiert werden (Input-System).
|
|
|
3. Event: Ein Sound signalisiert, wenn das Gericht fertig ist.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **7. Strudel aktivieren**
|
|
|
- **Ziel:** Die Durchreiche öffnet sich und ein Strudel transportiert die Spieler zurück.
|
|
|
- **Komponenten:**
|
|
|
- Particle System (für den Strudel)
|
|
|
- `XR Simple Interactable` (für die Durchreiche)
|
|
|
- **Umsetzung:**
|
|
|
1. Nach Abschluss des Kochens öffnet sich die Durchreiche automatisch (Event-Trigger).
|
|
|
2. Ein Particle System erzeugt den Strudel.
|
|
|
3. Event: Spieler werden in die nächste Szene transportiert.
|
|
|
|
|
|
---
|
|
|
|
|
|
## **Zusammenfassung der Komponenten:**
|
|
|
- `XR Grab Interactable`: Zutaten, Schublade, Löffel
|
|
|
- `XR Simple Interactable`: Durchreiche, Knöpfe, Rezeptbuch
|
|
|
- `Configurable Joint`: Schubladenbewegung
|
|
|
- UI-System: Fortschritt und Hinweise
|
|
|
- Trigger Collider: Durchreiche, Zutaten-Handling
|
|
|
- Particle System: Strudel
|
|
|
- Input-System: Synchronisation des gemeinsamen Rührens
|
|
|
|
|
|
|