Animationen hinzufügen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Um Animationen im Spiel zu implementieren, verwende Skripte.Für dieses Tutorial implementierst du die zuvor erstellte Siegesanimation mit einem vorab erstellten Skript, das. PL: die Skripts.Sobald fertiggestellt, kann diese Animation verwendet werden, um das Erreichen eines Spieler:inzu feiern, wie das Erreichen des Endes eines Obbys oder das Finden eines Geheimnisses.

Skript-Animationen

Animationen werden ausgelöst, indem Skripte verwendet werden.Eine Möglichkeit besteht darin, Ereignisse zu verwenden, um Animationen in einer Vielzahl von Situationen abzuspielen, wie ein Spieler ein Stufebeendet, einen Feind besiegt oder sogar einen kaufenmacht.

Einrichten des Projekts

Für dieses Projekt erstellst du Teile, die, wenn sie berührt werden, eine Animation für diesen Spieler:inauslösen.

  1. Um alle Teile zu organisieren, die die Animationenwiedergeben, füge einen Ordner im Arbeitsbereich hinzu (bewegen Sie den Mauszeiger über den Arbeitsbereich und klicken Sie auf +), der den Namen TouchPartFolder trägt.

  2. In TouchPartFolder füge ein Teil hinzu.

    Stellen Sie sicher, dass das Teil dort platziert wird, wo das Spielen der Animation Sinn machen würde, z. B. am Ende eines Levels oder in der Nähe eines von den Spielern gesammelten Objekts.

    Beispiel-Siegesteil
    >

    Beispiel-Interaktionsteil
    >

  3. In StarterPlayer > StarterCharacterScripts erstellen Sie ein lokales Skript mit dem Namen TouchPartRegister. Dann kopieren und fügen Sie den Code unten ein.


    -- Wird mit dem Skript "PlayerAnimationFeedback" verwendet, um Animationen auf Teilberührungen zu spielen
    -- Dienste
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local canTouch = false
    -- Feedback-Animationsmodul einfügen
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- Funktion aufgerufen, wenn ein Teil berührt wird
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- Bei Startaufruf, Anruf der Modul-Ladefunktion der Animation
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- Binden Sie auch einen Ordner mit Teilen an das "Berührt"-Ereignis, um "onPartTouch()" auszuführen
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Dieses Skript findet alle Teile im TouchPartFolder und gibt ihnen Touched() Ereignisse.Wenn das Ereignis abgefeuert wird, führt es eine Funktion aus, die eine Animation für einen Spieler:inwiedergibt.

  4. Das nächste Skript aktiviert Animationen für einen Spieler:in.Erstellen Sie in ReplicatedStorage ein neues Modulskript mit dem Namen PlayerAnimationFeedback.Dann kopiere und füge den Code unten ein.


    -- Wird mit dem Skript "TouchPartRegister" verwendet, um Animationen für einen Spieler:inzu spielen
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- Funktion, die Animation auf den Charakter des Spieler:inladen kann
    function PlayerAnimationFeedback:LoadAnimation(humanoid)
    local feedbackAnimation = Instance.new("Animation")
    feedbackAnimation.AnimationId = ANIMATION_ID
    feedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)
    feedbackAnimationTrack.Priority = Enum.AnimationPriority.Action
    feedbackAnimationTrack.Looped = false
    end
    -- Funktion zum Abspielen der Animationen
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Spiele Animationen

Animationen müssen in einem Skript, das. PL: die Skriptsidentifiziert, geladen und abgespielt werden.

Setze die Animationen

Das Skript muss wissen, welche Animation spielenwerden soll.Um eine exportierte Animationenzu verwenden, finden Sie ihre Asset-ID über einen Web-Browser.Diese ID wird dann erlauben, dass diese Animation im Skript, das. PL: die Skriptsgeladen wird.

  1. Öffne den Animations-Abschnitt der Seite "Erstellen".

  2. Suchen und klicken Sie auf eine exportierte Animationen.

  3. Kopiere seine ID von der URL in deinem Browser.

  4. Im Skript, das. PL: die Skripts, PlayerAnimationFeedback, ersetze den Platzhalter, YOUR_ANIMATION (Linie 8), durch die ID , die du kopiert hast.

  5. Führen Sie das Projekt aus und testen Sie, dass sobald ein Spieler das Teil trifft, Sie die Animationensehen.

Nächste Schritte

Im Folgenden sind einige Möglichkeiten aufgeführt, das Lernen fortzusetzen

Lernen Sie über Animationen

Bisher hast du gelernt, wie man Animationen erstellt und sie in Erlebnisse einfügt.Um das Lernen fortzusetzen, empfehlen wir den Besuch der Animation-Übersicht.

Auf dieser Seite findest du nützliche Links zur Verbesserung von Animationen, wie die Verwendung des Kurvenbearbeiters für eine reibungslose Bewegung oder Tipps zur Verfeinerung von Animationen.

Teile animieren

Zusätzlich starten Sie die optionale Lektion Teile animieren, um zu lernen, wie man Teenagern programmiert, eine Funktion, mit der Sie Größenverhältnis, Drehen und Bewegen von Teilen ermöglichen können.Ein Beispiel für das endgültige Projekt ist unten.