Skip to content
Versunken

Games und Lyrik

Von Spielen inspiriert

  • Inhalt
  • Gamesübersicht
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Shops
    • E-Books
    • Cosplay
  • Impressum
    • Cookie-Richtlinie (EU)
    • Datenschutzerklärung
    • Disclaimer
  • Kasse
  • Toggle search form
zwei-Collider

Die Spielfigur mit dem Character Controller bewegen

Posted on 11. Juli 202219. September 2022 By Claudia Wendt Keine Kommentare zu Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen

Ein Character Controller ist ein Script, dass dafür sorgt, dass dein Charakter sich bewegt. Damit deine Figur sich bewegt, benötigst du ein Script, dass deinem Character Controller sagt, was er machen soll.

Du benötigst zuerst ein Asset, aus dem Asset Store. Deine Spielfigur besitzt einen Sprite Renderer. Zudem brauchst du die Main Camera und verschiedene Tiles, die deinen Level zusammenbauen. Die Plattformen sollten mit Colliders versehen sein. Außerdem sollte ein Collider für den Boden vorhanden sein und einige Hintergrundgrafiken.

Zuerst benötigst du einen Character Controller. Diesen fügst du in Unity in einen Ordner deiner Wahl ein. Wähle den Spieler und füge dort das Script hinzu.

Werbung
Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 32

Das sieht dann folgendermaßen aus:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 33

Hier lassen sich verschiedene Einstellungen zum Charakter vornehmen. Du hast die Möglichkeit die Sprungkraft einzustellen, die Duckgeschwindigkeit in Form der „Crouch Speed“, sowie die Bewegungsgeschmeidigkeit. Achte darauf, die Air Control zu aktivieren. Über die Option „What is Ground“ legst du die Oberfläche fest, auf der dein Charakter läuft. Wähle hier beispielsweise alles aus und entferne dann den Player. Wähle oben rechts als Layer den Player aus.

Dann gibt es drei weitere leere Plätze:

Ground Check: Es wird überprüft, ob die Spielfigur auf dem Boden steht.

Ceiling Check: Wenn du dich duckst, wird geprüft, ob eine Decke über deinem Kopf ist

Um die Checks möglich zu machen, benötigst du leere Objekte, die feststellen, wo sich was befindet. Erstelle über Create –> Empty Object ein erstes Objekt und kopiere es mit Strg+D. Bewege die jeweiligen Objekte zum obersten Abschnitt der Figur sowie zum unteren Abschnitt. Benenne das obere Objekt Ceiling Check und das untere Objekt mir Ground Check.

Werbung
Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 34

Ziehe diese in die jeweiligen Slots des Players.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 35

Füge als nächstes einen Rigidbody 2D hinzu, um deinem Charakter Physik hinzufügen.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 36

Dein Charakter sollte eine höhere Gravitation haben, als die anderen Spieleobjekte. Steigere also die Gravitation auf beispielsweise 3.

Zudem sollte dein Charakter immer gerade sein und nicht rotieren. Wähle deshalb Constraints und lege die Rotation auf der Z-Achse fest.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 37

Als nächstes benötigt deine Figur einen Collider, da sie sonst durch den Bildschirm einfach durchfällt. Entsprechend der Figur kannst du mit verschiedenen Collidern arbeiten. Das kann zudem zu einem realistischeren Gefühl im Spiel führen. Du kannst beispelsweise Kreiscollider und Boxcollider verwenden. Du hast die Möglichkeit einen Kreiscollider hinzuzufügen. Passe zuerst den Boxcollder an und füge den Kreiscollider hinzu bzw. passe diesen an.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 38

 

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 39

Jetzt kannst du dein PlayerMovement Script hinzufügen:

Gehe auf Add Component–> Geben PlayerMovement ein und wähle New Script sowie Create and Add.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 40

Doppelklicke darauf, um es im Visual Studio zu öffnen.

Sollte das Script ausgegraut sein, gehe mit der rechten Maustaste oben auf Inspector und wähle den Debug-Mode. Dann kannst du das Dokument mit dem Visual Studio öffnen.

Das Ganze sieht jetzt so aus:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 41

Zuerst wird eine Referenz vom PlayerMovement-Script zum Character Controller benötigt. Damit teilst du diese mit, was mit dem Charakter passieren soll.

Du benötigst folgende Zeile:

public CharacterController2D controller;

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 42

Dann erscheint im Player Movement Script der Character Controller 2D:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 43

Dort kannst du dein Character Controller Script per Drag & Drop hineinziehen.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 44

Würdest du unter void Update ( ) {

controller.Move( ); schreiben, würdest du dem System sagen, dass deine Figur sich bewegen soll.

Das reicht aber nicht aus. Du musst spezifizieren wo deine Figur sich bewegen soll, ebenso die Richtung und die Geschwindigkeit. Dafür ist die Steuerung des Spielers notwendig. Deswegen fügst du folgendes hinzu:

Für das Input vom Spieler benötigst du die Input-Class:

Input.GetAxosRaw („Horizontal“)

Der Wert liegt in der Regel zwischen -1 und 1. Das ist abhängig vom Userinput.

Der Linke Pfeil oder die A-Taste steht für -1.

Der Rechte Pfeil oder D steht für 1.

Das trifft auch auf den Controller zu.

Du benötigst außerdem den Debug.Log-Befehl:

Dieser Debug.log-Befehl sendet eine Nachricht an die Konsole.

Am Ende sieht die Zeile folgendermaßen aus:

Debug.Log(Input.GetAxisRaw(„Horizontal“));

Die Konsole reagiert auf die neue Eingabe. Drückst du die Pfeiltasten in die jeweiligen Richtungen, zeigt die Konsole Folgendes:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 45

Das Script sieht jetzt folgendermaßen aus:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 46

Dadurch registriert das System die Eingabe.

Der nächste Aspekt den wir benötigen ist das Fixed Update. Mit dieser Eingabe aktualisiert der Computer den Bilschirm mit jedem Frame.

Du benötigst die folgende Eingabe:

void FixedUpdate ( )

{

//Move our character

}

Dieser Abschnitt sorgt für die Übertragung des Spielerinputs auf den Charakter.

void Start kannst du löschen.

Damit hast du folgendes Script:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 47

Der Userinput muss von einer Funktion zur anderen übertragen werden. Dafür benötigst du eine Variable.

Du benötigst folgende Zeile:

float horizontalMove = 0f;

Anschließend soll der Charakter bewegt werden. Du schreibst deswegen under FixedUpdate folgendes:

controller.Move(horizontalMove);

Mit der Variable (horizontalMove) gibst du an, wie stark die Figur bewegt werden soll.

Zudem musst du dem System sagen, dass der Charakter sich nicht gerade ducken oder springen soll.

Das erste false bezieht sich auf das Ducken und das zweite false auf das Springen.

controller.Move(horizontalMove, false, false);

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 48

Jetzt wird die Geschwindigkeit benötigt:

public float runSpeed = 40f;

Jetzt multiplizierst du das Horizontal Input mit der runSpeed.

horizontalMove = Input.GetAxisRaw(„Horizontal“) * runSpeed;

Auch das FixedUpdate muss mit der Time.fixedDeltaTime multipliziert werden:

controller.Move(horizontalMove * Time.fixedDeltaTime, false, false);

Die Funktion bestimmt, dass die Bewegung immer im gleichen Wert festgelegt ist.

Dein fertiges Script für die Bewegung sieht so aus:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 49

Fixed Update bedeutet, dass die Funktion unzählige Male aufgerufen werden kann, ohne das es ein anderes Ergebnis gibt.

Wenn die Figur fällt, verschiebt sie sich kurz auf den Boden. Um dies zu beseitigen, wähle von der Figur den Rigidbody 2D und ändere die Collision Detection von Discrete zu Continuous. Diese Umstellung bewirkt, dass die Figur nicht in den Boden hineinrutscht.

Inhaltsverzeichnis

Toggle
  • Das Springen
  • Wie dein Charakter sich duckt

Das Springen

Jetzt wird das Springen hinzugefügt. Das System muss die Figur zum Springen bringen, wenn du einen bestimmten Knopf drückst.

Du benötigst folgende Zeile:

if (Input. GetButtonDown(„Jump))

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 50

Diese Informationen müssen jetzt auch in den FixedUpdate-Bereich übertragen werden. Dafür benötigst du eine Variable.

Dafür benötigst du einen Booleschen Operator. Das bedeutet, das Ergebnis kann nur wahr (true) oder falsch (false) sein:

bool jump = false;

Dazu kommt die Bedingungen, dass der Jump-Knopf gedrückt werden muss, damit der Charakter springt.

Also muss zur Bedingungen hinzugefügt werden, dass:

jump = true;

Die Jump-Variable wird beim Fixed-Update-Bereich hinzugefügt. Wird die Taste nicht gedrückt, soll der Charakter nicht mehr hüpfen. Also wird im Fixed-Update-Berich noch jump = false; hinzugefügt.

Das Script sieht folgendermaßen aus:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 51

Jetzt springt deine Figur.

Damit deine Figur beim Springen nicht an Plattformen hängen bleibt, sondern glatt heruntergleitet, benötigst du Physik-Material.

Wähle dafür im Projektfenster Create–>Physics Material 2D

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 52
Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 53

Folgende Einstellungen stehen zur Verfügung:

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 54

Setze Friction und Bounciness auf 0.

Wähle den Spieler und ziehe das Physics Material in den Material-Slot vom Collider.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 55

Verwendest du mehr Collider, füge auch beim anderen Collider dies hinzu.

Wie dein Charakter sich duckt

Die Eingaben für die Charakterbewegungen findest du in den Projekteinstellungen von Unity.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 56

Wähle dem Anschnitt fürs Springen und klicke mit der rechten Maustaste auf „Jump“. Wähle Duplicate Array Element.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 57

Damit erschaffst du eine weitere Eingabemöglichkeit für das Ducken (Crouching) deines Charakters.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 58

Die Tastaturbelegung lässt sich eine alternative Taste definieren. Dabei handelt es sich um den Alt Positive Button bzw. den alternativen Positive Button.

Das Ducken muss jetzt im Script mit eingearbeitet werden:

Im Updatebereich: if (Input.GetButtonDown(„Crouch“))

Auch ein boolscher Faktor muss hinzugefügt werden:

bool crouch = false;

Im Bereich Fixed Update wird Crouch ergänzt.

Das Ducken funktioniert nicht genauso wie das Springen. Deine Figur soll sich nicht kurz ducken und dann damit aufhören. Das ducken soll beendet werden, wenn die Taste für das Ducken losgelassen wird. Dein Charakter soll sich nur ducken, wenn du die Taste gedrückt hältst.

Jetzt benötigst du folgende Zeile:

else if (Input.GetButtonUp(„Crouch“))

{

crouch = false;

Du sagst dem System damit, dass deine Figur sich nicht duckt, wenn du keine Taste drückst.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 59

Jetzt wird noch nichts passieren, wenn du die Taste fürs Ducken drückst, da das Ducken durch eine Animation geschieht.

Damit das Ducken funktioniert, wähle den Collider deiner Figur und ziehe ihn in den Crouch Disable Collider.

Die Spielfigur mit dem Character Controller bewegen
Die Spielfigur mit dem Character Controller bewegen 60

Damit wird das Ducken für deine Figur möglich. Jetzt passt dein Charakter zwischen zwei Ebenen durch. Für das Ducken benötigst du jedoch noch eine Animation.

 

 

Originally posted 2020-04-16 21:22:43.

Post Views: 1.293
Weitersagen:
Games und Lyrik Tags:Unity

Beitrags-Navigation

Previous Post: POST VOID
Next Post: Beetlejuice

Related Posts

  • Das Spiel Lacuna: Finde den Mörder
    Das Spiel Lacuna: Finde den Mörder Games und Lyrik
  • Logo Larian Studios
    Larian Studios: Pioniere des modernen Rollenspiels Games und Lyrik
  • Unreal Engine
    Die Unreal Engine – Ersteindruck Games und Lyrik
  • Intruder Cover
    Intruder – Spion gegen Wachen Games und Lyrik
  • The Last of Penguin
    The Last of Penguin Games und Lyrik
  • Active Seat
    Active Seat: Innovation für Gesundheit und Bewegung Games und Lyrik

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.

  • Games und Lyrik (2.627)
    • Action (70)
    • Adventure (433)
      • Point & Click-Adventure (16)
    • Ecke der verlorenen Spiele (13)
    • Horror (30)
    • Kinderfreundliche Games (3)
    • Partyspiele (9)
    • Puzzle (12)
    • Rollenspiele (111)
    • Shooter (346)
    • Simulation (26)
    • Sport (106)
      • Fußball (2)
      • Rennspiele (4)
    • Strategie (197)
    • Survival (6)
    • Wimmelbild (8)
  • Hardware (1)
  • Jump & Run (1)
  • Lyrik (112)
  • Spieleentwickler (371)
  • Spieleprogrammierung (29)
Werbung

Action Adventure Capcom Daedalic Deck 13 Devcom 2020 Ecke der verlorenen Spiele Gamescom 2019 Gamescom 2020 Gamescom 2021 Gamescom 2023 GB GBA GBC Horror Indie Arena Booth 2022 Jump & Run Kalypso Media Mega Man N64 NDS NES Nintendo DS Nintendo Switch PC PS1 PS2 PS3 PS4 PS5 PSP Rareware Rennspiel Sega Shooter SNES State of Play Strategie Switch Unity Visual Novel VR Windows Xbox XBox One

0 Artikel - 0,00€

Unsere Besucher

083988
Users Today : 5
Total views : 378256
Powered By WPS Visitor Counter

RSS Lets-Plays.de

  • Games als Training für reale Fähigkeiten
  • Evolution der Spielmechaniken

Ezoic

RSS GameStar – News

  • Borderlands 4 - »Programmiert doch eure eigene Engine« - Randy Pitchford reagiert auf Kritik und macht es nur noch schlimmer
  • Dragonkin: The Banished - Das Tracker-Update zum Diablo-Konkurrenten bringt eine brandneue Klasse
  • Einer der mutigsten Menschen der Welt lebte und starb genau zu der Zeit, in der Europa Universalis 5 spielt
TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste
blogwolke.de - Das Blog-Verzeichnis

Unsere Besucher

083988
Users Today : 5
Total views : 378256
Powered By WPS Visitor Counter
  • No Longer Home Cover
    No Longer Home Adventure
  • Jan Böhmermann
    Jan Böhmermann entlarvt die vermeintlich unpolitische Gaming-Community Games und Lyrik
  • Pine_Screenshot_05
    Pine Rollenspiele
  • Horizon Call of the Mountain Cover
    Horizon: Call of the Mountain – Entdecke eine geheimnisvolle Berglandschaft Rollenspiele
  • AxesInMotion Logo
    AxesInMotion: Für dich, immer und überall! Spieleentwickler
  • Man of Medan Cover
    Man of Medan Games und Lyrik
  • Twiggel
    Green and Grey Strategie
  • Candle Screenshot
    Beschworen Lyrik

Copyright © 2025 Games und Lyrik.

Powered by PressBook News Dark theme