Mobile Joystick Steuerung in Unity mit Bolt Visual Scripting

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Seiteninhalt

Eine Joystick Steuerung ist äußerst hilfreich für deine Mobile Anwendung. Damit kannst du auf mobilen Endgeräte wie Smartphones oder Tablets per Touch Objekte in verschiedene Richtungen bewegen. In diesem Beitrag lernst du, wie du eine Joystick Steuerung mit Hilfe von Visual Scripting integrierst.

Joystick erstellen

Lade dir zuerst das Joystick Pack in dein Projekt und achte darauf, dass du Bolt aktiviert hast. Erstelle dir ein Canvas GameObject. Auf das Canvas ziehst du aus dem Ordner Virtual Joystick Pack > Prefabs einen gewünschten Joystick. Dieser taucht dann automatisch in der Game View auf.

Joystick Prefab aus dem Asset auf dem Canvas

Die gesamte Steuerung könntest du auch über Bolt lösen, ohne eine Zeile Programmcode. Dies würde aber dann so in etwa aussehen:

Joystick in Unity Flowgraph

Mein Ziel ist es aber, dir das Leben einfacher zu machen und daher verwenden wir ein von mir erstelltes Skript.

Joystick To Bolt Skript verwenden

Lade dir das JoystickToBolt Skript herunter und importiere es in dein Projekt. Du kannst dir auch dein eigenes Skript erstellen mit dem gleichen Programmcode. Dabei gilt es zu beachten, dass du den Namespace „Bolt“ importierst.

				
					using UnityEngine;
using Bolt;

public class JoystickToBolt : MonoBehaviour
{
    [SerializeField] private Joystick joystick;

    // Update is called once per frame
    void Update()
    {
        Variables.Application.Set("joystickX", joystick.Horizontal);
        Variables.Application.Set("joystickY", joystick.Vertical);
    }
}
				
			

Erstelle dir ein leeres GameObject „JoystickSync“ und füge hier das JoystickToBolt Skript als Component hinzu. Das Skript setzt zwei Application Variablen um auf den Horizontalen und Vertikalen Wert zwischen -1 und 1 zugreifen zu können.

Selektiere dein JoystickSync GameObject und verlinke deinen Joystick vom Canvas.

Joystick im GameObject entsprechend verlinken

Über diese Verbindung wird der entsprechende Wert zwischen -1 und 1 über die Application Variable gesetzt.

Variablen in Bolt erstellen

Öffne jetzt deinen Flow Graphen des Players. Solltest du noch keinen angelegt haben dann kannst du dies jetzt tun. Selektiere Add Components > Bolt > Flow Machine. Dein Player sollte auch einen Rigidbody2D haben, da wir sonst die Velocity nicht verändern können. Klicke auf „Edit Graph“ und erstelle dir hier die Logik.

Zuerst startest du mit der Erstellung von vier Variablen:

  • Zwei Application Variables für den Joystick
  • Zwei Object Variables für die Geschwindigkeit deines Players.

Application Variablen

Object Variablen

Starte deine Anwendung und überprüfe im Graphen ob die von uns angelegte Logik auch die Informationen in der Application Variable abspeichert. Bewege dazu den Joystick nach links bzw. rechts.

Player bewegen

Im nächsten Schritt bindest du die Variablen in deinen Graphen ein. Verwende das Update Event um den Rigibody2D velocity Wert zu verändern. Du musst dir überlegen ob du beide Achsen (X und Y) für deine Anwendung benötigst oder nur eine der Achsen.

Multipliziere die Variable joystickX mit speedX und joystickY mit speedY. Das Ergebnis übergibst du einer Vector2 Unit und somit hast du deinen Endvector für die Velocity (set) Unit.

Teste die Anwendung und verändere die Speed Variable. Sie sollte auf keinen Fall der Zahl 0 entsprechen, denn sonst bewegt sich dein Spieler nicht. Durch die Bewegung des Joysticks läuft dein Spieler automatisch durch die Gegend.

Flow Graph: Player bewegen

Erdanziehung berücksichtigen

Wenn du für deinen Player die Erdanziehung berücksichtigen möchtest, dann solltest du als Y-Wert die Rigidbody2D velocity (get) Unit einbinden. Dadurch aktualisierst sich das Objekt auch automatisch.

Flow Graph: Erdanziehung mit velocity (get)

Joystick Layout tauschen

Solltest du dich für einen anderen Joystick entscheiden, dann kannst du diesen zum Canvas hinzufügen. Den ursprünglichen deaktivierst du und verlinkst im JoystickSync GameObject deinen neuen Joystick. Mehr musst du hier auch nicht tun, denn unsere erstellte Logik ist vollkommen flexibel.

Die nächsten Schritte

Damit hast du die Joystick Steuerung erfolgreich in dein Projekt integriert. Wenn du mehr Tutorials zu Visual Scripting testen möchtest, dann empfehlen wir dir die folgenden Beiträge:

Hinweis: Du willst in der 3D-Entwicklung durchstarten? Dann teste jetzt nobreakpoints Pro. Dort lernst du in zahlreichen Online-Kursen und Workshops alle nötigen Skills.

Free

Trial

Keine Extra-Kosten.
Unverbindlich testen.

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Weitere Blogartikel

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!

Suche

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!