Unity - es ist eine leistungsstarke Multiplattform-Entwicklungsumgebung, die häufig für die Erstellung von Spielen und interaktiver virtueller Realität verwendet wird. Eine der wichtigsten Funktionen von Unity ist die Möglichkeit, verschiedene Bewegungseffekte zu erstellen, die dazu beitragen, dass das Spiel realistischer und spannender wird. In diesem Artikel betrachten wir Schritt für Schritt eine Anleitung zum Erstellen eines Geschwindigkeitsschub-Bewegungseffekts.
Geschwindigkeitsskala - dies ist ein Element, das die aktuelle Geschwindigkeit eines Objekts auf dem Bildschirm anzeigt. Es wird häufig in Autorennen und anderen Spielen verwendet, bei denen die Bewegungsgeschwindigkeit von Objekten überwacht und angezeigt werden muss. Wenn Sie einen Geschwindigkeitsschub-Bewegungseffekt erstellen, können Sie dem Spiel Dynamik und Realismus verleihen und dem Spieler helfen, seine Bewegung zu kontrollieren.
Sie müssen mehrere Schritte ausführen, um einen Geschwindigkeitsskalenbewegungseffekt in Unity zu erstellen. Zuerst müssen Sie ein bewegliches Element für die Geschwindigkeitsskala erstellen. Zweitens müssen Sie die Bewegungsanimation dieses Elements anpassen. Drittens sollten Sie diese Animation mit der aktuellen Geschwindigkeit des Objekts verknüpfen. Wenn sich die Geschwindigkeit des Motivs ändert, ändert sich die Position der Geschwindigkeitsskala auf dem Bildschirm reibungslos, was einen Bewegungseffekt erzeugt.
Schritt 1: Erstellen eines Schnellskala-Objekts
Um ein leeres Objekt zu erstellen, öffnen Sie das Hierarchy-Fenster und klicken Sie mit der rechten Maustaste auf den leeren Bereich. Wählen Sie im Kontextmenü die Option "Create Empty".
Nachdem Sie ein leeres Objekt erstellt haben, können Sie es umbenennen, um dessen Zweck widerzuspiegeln. Zum Beispiel können Sie es "Speedometer" nennen.
Fügen wir nun unserem Objekt eine Komponente hinzu, die eine grafische Skala anzeigt. Klicken Sie dazu auf das Speedometer-Objekt und navigieren Sie dann zum Inspector-Fenster. In diesem Fenster können Sie einem Objekt Komponenten hinzufügen.
Suchen Sie im Inspector-Fenster nach der Schaltfläche "Komponente hinzufügen" und klicken Sie darauf. Wechseln Sie dann zur Registerkarte "UI", suchen Sie nach der Komponente "Image" und fügen Sie sie hinzu.
Mit der Image-Komponente können Sie grafische Elemente wie Sprites und Texturen anzeigen. Wir werden es verwenden, um die Geschwindigkeitsskala anzuzeigen.
Jetzt, da wir eine Image-Komponente haben, können wir ihre Eigenschaften anpassen. Sie können beispielsweise ein Sprite auswählen, um eine Skala anzuzeigen, oder seine Größe und Position auf dem Bildschirm anpassen.
Schritt 2: Implementieren einer Skalenanimation
Sie müssen ein Skript und die entsprechenden Komponenten verwenden, um eine Geschwindigkeitsskala-Animation in Unity zu implementieren.
1. Erstellen Sie ein neues leeres Objekt in der Szene und nennen Sie es "Speedometer".
2. Fügen Sie dem Speedometer-Objekt eine RectTransform-Komponente hinzu, um mit der Position und der Bemaßung zu arbeiten.
3. Erstellen Sie ein neues Skript und fügen Sie es dem "Speedometer" -Objekt hinzu. Nennen Sie das Skript zum Beispiel "SpeedometerAnimation".
4. Öffnen Sie das Skript zum Bearbeiten, und fügen Sie den folgenden Code hinzu:
using UnityEngine;using UnityEngine.UI;public class SpeedometerAnimation : MonoBehaviourpublic void SetSpeed(float speed)/ Установка нового значения шкалыtargetValue = speed;>>
5. Suchen Sie im "Speedometer" -Objektinspektor nach der Komponente "Image" und weisen Sie sie im Feld "Speedometer Fill" im Skript "SpeedometerAnimation" zu.
6. Fertig! Jetzt können Sie dieses Skript verwenden, um den Wert der Geschwindigkeitsskala festzulegen und die Füllung zu animieren.
public SpeedometerAnimation speedometerAnimation;void Update()
Anmerkung: In diesem Beispiel wird davon ausgegangen, dass Sie bereits über eine Methode "CalculateCurrentSpeed()" verfügen, die die aktuelle Geschwindigkeit zurückgibt.
Jetzt wird Ihre Geschwindigkeitsskala reibungslos animiert, wenn sich der Wert ändert!
Schritt 3: Einrichten von Scroll-Ereignissen
Jetzt, da wir eine angepasste Geschwindigkeitsskala und einen Geschwindigkeitszähler haben, können wir ein Scroll-Ereignis implementieren. In diesem Schritt fügen wir einen Code hinzu, der den Wert der Skala und des Geschwindigkeitsmessers basierend auf Mausbewegungen oder Tastatureingaben aktualisiert.
- Öffnen Sie am Anfang ein Skript, das den Code für die Geschwindigkeitsüberwachung enthält.
- Fügen Sie dem Skript die folgende Funktion hinzu, um den Bildlauf zu verarbeiten:
float scroll = Input.GetAxis("Mouse ScrollWheel");
speed += scroll * sensitivity;
speed = Mathf.Clamp(speed, minSpeed, maxSpeed);
- Die `Update`-Funktion wird von jedem Frame aufgerufen und die Benutzereingabe verarbeitet.
- Die Variable `scroll' speichert den Wert des Mausrads bei jeder Bildaktualisierung.
- Wenn der Wert `scroll` nicht Null ist, aktualisieren wir die Geschwindigkeit entsprechend dem Scrollen der Maus.
- Die Funktion 'Mathf.Clamp' wird verwendet, um den Geschwindigkeitswert innerhalb der angegebenen minimalen und maximalen Werte zu begrenzen.
- Am Ende wird die Funktion `UpdateSpeedometer` aufgerufen, um die Anzeige des Geschwindigkeitswerts auf der Skala zu aktualisieren.
- Danach müssen wir eine Geschwindigkeitsaktualisierung beim Drücken der Tasten implementieren. Fügen Sie der Funktion `Update` den folgenden Code hinzu:
float movement = Input.GetAxis("Vertical") * movementSpeed * Time.deltaTime;
if (movement != 0f)
speed = Mathf.Clamp(speed, minSpeed, maxSpeed);
- Die Variable 'movement' speichert den Wert der vertikalen Achse jedes Mal, wenn ein Frame aktualisiert wird.
- Wenn `movement' nicht Null ist, aktualisieren wir den Geschwindigkeitswert entsprechend dem Tastendruck.
- Die Funktion 'Mathf.Clamp' wird verwendet, um den Geschwindigkeitswert innerhalb der angegebenen minimalen und maximalen Werte zu begrenzen.
- Am Ende wird die Funktion `UpdateSpeedometer` aufgerufen, um die Anzeige des Geschwindigkeitswerts auf der Skala zu aktualisieren.
- Schließlich fügen Sie dem Skript die folgende Funktion `UpdateSpeedometer` hinzu, um die Anzeige des Geschwindigkeitswerts auf der Geschwindigkeitsskala zu aktualisieren:
float normalizedSpeed = speed / maxSpeed;
speedIndicator.transform.localScale = new Vector3(normalizedSpeed, 1f, 1f);
- Die Funktion 'UpdateSpeedometer' wird verwendet, um den Maßstab der Geschwindigkeitsanzeige entsprechend der aktuellen Geschwindigkeit zu aktualisieren.
- Der Geschwindigkeitswert wird normalisiert, um zwischen 0 und 1 zu liegen, und wird dann beim `speedIndicator` als Skalierungswert auf der X-Achse festgelegt.
Jetzt haben wir einen voll funktionsfähigen Code, um die Scroll-Ereignisse der Schnellskala anzupassen. Im nächsten Schritt fügen wir ein Automodell hinzu, damit unsere App realistischer aussieht.