Egal ob du ein Spiel oder eine App in Unity erstellst, für 3D Anwendungen ist ein First Person Character Controller meist essentiell um sich in der virtuellen Welt zu bewegen. Erstellst du dir diesen von Grund auf selbst, dann kann dies sehr komplex werden. Es gilt dabei nämlich nicht nur die Steuerung zu beachten, sondern auch das physikalische Verhalten deines Characters. In diesem Beitrag lernst du die Verwendung des von Unity bereitgestellten Character Controller.
Die verschiedenen Möglichkeiten
Mit dem neuen FPS Controller Asset hast du die folgenden Möglichkeiten:
- First Person Character Controller
- Verwendung einer Beispielszene
- Kompatibel mit mobilen Endgeräten Buttons Joysticks
Voraussetzungen
Bevor du die Erweiterung in dein Projekt importierst, solltest du zuerst überprüfen ob du die Voraussetzungen erfüllst. Die folgenden Punkte sind wichtig:
- Mindestens Unity 2020 LTS
- Neues Input System wird verwendet
- Cinemachine Package
Wenn dein Projekt diese Kriterien nicht erfüllt, dann empfehle ich dir auf keinen Fall dieses Asset in dein Projekt zu importieren. Achte auch darauf, dass du vor dem Import dein Projekt sicherst, denn was während des Imports passiert hat man meist nie in der Hand.
Die Anwendung
Wir verwenden dazu das kostenlose Starter Asset aus dem Asset Store. Erstelle dir ein neues Projekt oder öffne ein bestehendes. Die Voraussetzung dafür ist Unity 2020 LTS oder höher.
Starter Assets – First Person Character Controller | Essentials | Unity Asset Store
Füge über den Asset Store die Erweiterung „Starter Assets – First Person Character Controller“ zu deinem Projekt hinzu. In den Assets findest du nun einen Ordner mit „StarterAssets“, hier sind alle Dateien für deinen First Person Character Controller.
Datenstruktur des StarterAssets
Eine genau Dokumentation findest du im Projektordner. Hier findest du verschiedene Hinweise zu den Vorraussetzungen oder auch wo du biste Einstellungen findest.
Playground Scene
Öffne die Playground Scene in Assets > StarterAssets > FirstPersonController > Scenes. Wähle den Play Mode um diese Scene zu testen. Schon kannst du deinen FPS Controller testen. Die Steuerung funktioniert folgendermaßen:
- Maus: Umsehen
- Tasten W-A-S-D: Bewegen
- Pfeiltasten: Bewegen
- Großschreib-Taste: Schneller bewegen
- Leertaste: Springen
Eigene Scene erstellen
Wenn du den FPS Controller in eine eigene Scene erstellen integrieren möchtest, dann öffne deine Scene. Wähle im Text-Menü Tools > Starter Assets > Reset First Person Controller.
Aufbau der Scene mit dem Prefab
Mobile UI einstellen
Bei deiner eigenen Scene musst du ein bestimmtes Prefab hinzufügen, damit du den FPS Controller auch per Touch steuern kannst. Wähle in Assets > StarterAssets > Mobile > Prefabs > EventSystem und füge das UI_EventSystem Prefab hinzu.
Im nächsten Schritt fügst du Buttons für die Interaktion per Touch hinzu. Wähle Assets > UI_Canvas_StarterAssetInputs_Joystick aus und füge es zu deiner Hierarchie hinzu.
Selektiere UI_Canvas und überprüfe Controller Input und Mobile Disable Auto Switch Controls und hinterlege hier deinen Player.
Mobile Benutzeroberfläche hinzufügen
Testen
Um die Mobile Steuerung testen zu können, wählst du dein Player GameObject aus und deaktivierst die Mouse Cursor Settings ⇒ Cursor Locked und Input For Look. Klicke auf Play und Teste die Buttons.
Testen der mobilen Benutzeroberfläche in Unity
Das Umschalten auf diese Oberfläche geschieht automatisch durch den Export für die jeweilige Plattform. Du kannst die Sprites für die Buttons aber direkt über das Joystick Prefab ändern.