Verwende Animationen

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

Sobald du eine Animation erstellt hast, musst du Skripte verwenden, um sie in dein Erlebnis einzubeziehen.Du kannst entweder Spielanimationen manuell abspielen von Skripten oder Standard-Animationen für Spielercharaktere ersetzen.

Spiele Animationen aus Skripten

In einigen Fällen musst du eine Animation direkt aus einem Skript, das. PL: die Skriptsabspielen, z. B. wenn ein Benutzer eine bestimmte Taste drückt oder ein spezielles Artikelaufnimmt.

Menschenoiden

Um eine Animation auf einem Rig mit einem Humanoid -Objekt zu spielen, wie typische spielbare Charaktere, folgen Sie diesem grundlegenden Muster:

  1. Stellen Sie sicher, dass der lokale Spieler:inHumanoid ein Animator Objekt enthält.
  2. Erstellen Sie eine neue Instanz mit der richtigen >.
  3. Lade die Animation über Animator:LoadAnimation() , um eine AnimationTrack zu erstellen.
  4. Spiele die Strecke mit AnimationTrack:Play() .

Zum Beispiel lädt die folgende LocalScript, wenn sie in StarterPlayerScripts platziert wird, eine "kicken"-Animation auf den Charakter des Spieler:inund spielt sie ab.Das Skript nutzt auch die GetMarkerReachedSignal() -Methode, um zu erkennen, wann ein bestimmtes Animationsereignis auftritt.

LocalScript - Spielen Sie benutzerdefinierte Animation auf Spielercharakter

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Stellen Sie sicher, dass der Humanoid des Charakters ein "Animator"-Objekt enthält
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Erstelle eine neue "Animation"-Instanz und weise eine Animations-Asset-ID zu
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Lade die Animation auf den Animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Spiele die Animationsspur ab
kickAnimationTrack:Play()
-- Wenn ein benanntes Ereignis für die Animationendefiniert wurde, verbinden Sie es mit "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

Nicht-Humanoide

Um Animationen auf Ringen zu spielen, die keine enthalten und einen Humanoid enthalten, musst du einen AnimationController mit einem Kind Animator erstellen.Zum Beispiel lädt die folgende Script (vermutlich ein direktes Kind des Rigs) eine "kicken"-Animation und spielt sie ab.

Skript - Spiele benutzerdefinierte Animation auf Charakter-Rig

local rig = script.Parent
-- Erstelle eine neue "Animation"-Instanz und weise eine Animations-Asset-ID zu
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Erstelle einen neuen "AnimationController" und "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Lade die Animation auf den Animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Spiele die Animationsspur ab
kickAnimationTrack:Play()
-- Wenn ein benanntes Ereignis für die Animationendefiniert wurde, verbinden Sie es mit "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

Standard-Animationen ersetzen

Standardmäßig enthalten Roblox-Spielercharaktere gewöhnliche Animationen wie Laufen, Klettern, Schwimmen und Springen.Du kannst diese Standard-Animationen durch Animationen aus dem Katalog oder mit deinen eigenen benutzerdefinierten Animationen ersetzen.

  1. Erhalten Sie die Asset-ID der neuen Animation wie folgt:

  2. Fügen Sie im Explorer-Fenster eine neue Script zu ServerScriptService hinzu.

    1. Bewegen Sie den Mauszeiger über ServerScriptService und klicken Sie auf die Schaltfläche ⊕.
    2. Aus dem Kontextmenü fügen Sie ein Skript ein.
  3. Füge im neuen Skript, das. PL: die Skriptsden folgenden Codesein:

    Skript - Ersetzen der Standardcharakteranimationen

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Animator auf humanoid bekommen
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Alle Animationsspuren stoppen
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    --animateScript.ausführen.RunAnim.AnimationId = "rbxassetid://"
    --animateScript.Gehen.WalkAnim.AnimationId = "rbxassetid://"
    --animierteScript.springen.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.untätig.Animation1.AnimationId = "rbxassetid://"
    --animateScript.untätig.Animation2.AnimationId = "rbxassetid://"
    --animierteScript.Fallen.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.schwimmen.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animierteScript.klettern.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. Für jede Zeile, die eine Standard-Charakter-Animation referenziert , dekommentiere sie und füge die Ersatz-ID nach ein.Zum Beispiel, um die Standard-Laufanimation auf die Ninja-Lauf-Variante zu ändern:

    Skript - Ersetzen der Standardcharakteranimationen

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Animator auf humanoid bekommen
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Alle Animationsspuren stoppen
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    animateScript.run.RunAnim.AnimationId = "rbxassetid://656118852"
    --animateScript.Gehen.WalkAnim.AnimationId = "rbxassetid://"
    --animierteScript.springen.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.untätig.Animation1.AnimationId = "rbxassetid://"
    --animateScript.untätig.Animation2.AnimationId = "rbxassetid://"
    --animierteScript.Fallen.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.schwimmen.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animierteScript.klettern.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)

Animationengewichte festlegen

Du kannst mehrere Animationen für die gleiche Actionverwenden.Zum Beispiel gibt es zwei idle Variationen im Code-Beispiel für Ersetzung der Standard-Animationen.

Wenn mehrere Animationen für einen Charakterzustand existieren, wählt das Animieren -Skript zufällig eine aus, aber du kannst das Ergebnis beeinflussen, indem du den Animationen-Wert Weight unter der folgenden Formel festlegst:

  • animationsgewicht / gesamtgewicht aller zustandsanimationen Im folgenden Beispiel wird idle.Animation1 ⅔ der Zeit spielen, in der der Charakter untätig ist, während idle.Animation2 ⅔ der Zeit spielen wird.
Skript - Ersetzen der Standardcharakteranimationen

animateScript.idle.Animation1.AnimationId = "rbxassetid://656117400"
animateScript.idle.Animation2.AnimationId = "rbxassetid://656118341"
animateScript.idle.Animation1.Weight.Value = 5
animateScript.idle.Animation2.Weight.Value = 10

Animationsbezüge

Standard-Charakter-Animationen

Die folgende Tabelle enthält alle Standardcharakteranimationen, die du ersetzen kannst, durch Kataloganimationen oder deine eigenen benutzerdefinierten Animationen.Beachten Sie, dass Leerlauf zwei Variationen hat, die Sie gewichten können, um mehr oder weniger häufig zu spielen.

ActionAnimierte Skript-Referenz
Ausführen animateScript.run.RunAnim.AnimationId
Gehen animateScript.walk.WalkAnim.AnimationId
Springen animateScript.jump.JumpAnim.AnimationId
Leerlauf

animateScript.idle.Animation1.AnimationId``animateScript.idle.Animation2.AnimationId

Sturz animateScript.fall.FallAnim.AnimationId
Schwimmen

animateScript.swim.Swim.AnimationId

Schwimmen (Leerlauf)

animateScript.swimidle.SwimIdle.AnimationId

Klettern animateScript.climb.ClimbAnim.AnimationId

Kataloganimationen

Wenn du Avatar-Animations-Bündel verwendest, um Standard-Animationen zu ersetzen, verwende die folgenden Referenzen für die jeweiligen Asset-IDs.Wenn du beispielsweise die Ninja-Sprung-Animation anwenden möchtest, verwende 656117878.Beachten Sie, dass Leerlauf mehrere Variationen hat.

Astronaut >
Laufen 891636393
Gehen 891636393
Springen 891627522
Leerlauf 891621366, 891633237, 1047759695
Leerlauf (Leerlauf) 891617966, 891633237, 1047759695
Schwimmen 891639666
Schwimmen (Leerlauf) 891663592
Kohlensäure
Laufen 910025107
Gehen 910034870
Springen 910016857
Leerlauf 910004836, 910009958, 1018536639
Fallen 910001910
Schwimmen 910028158
Schwimmen (Leerlauf) 910030921
Karikatur
Laufen 742638842
Gehen 742640026
Springen 742637942
Leerlauf 742637544, 742638445, 885477856
Schlafen 742637151
Schwimmen 742639220
Schwimmen (Leerlauf) 742639812
Älteste
Laufen 845386501
Gehen 845403856
Springen 845398858
Leerlauf 845397899, 845400520, 901160519
Schlafen 845396048
Schwimmen 845401742
Schwimmen (Leerlauf) 845392038
Ritter >
Laufen 657564596
Gehen 657552124
Springen 658409194
Leerlauf 657595757, 657568135, 885499184
Schlafen 657600338
Schwimmen 657560551
Schwimmen (Leerlauf) 657557095
Levitation >
Laufen 616010382
Gehen 616013216
Springen 616008936
Leerlauf 616006778, 616008087, 886862142
Fallen 616005863
Schwimmen 616011509
Schwimmen (Leerlauf) 616012453
Magier
Laufen 707861613
Gehen 707897309
Springen 707853694
Leerlauf 707742142, 707855907, 885508740
Schlafen 707829716
Schwimmen 707876443
Schwimmen (Leerlauf) 707894699
Ninja >
Laufen 656118852
Gehen 656121766
Springen 656117878
Leerlauf 656117400, 656118341, 886742569
Leerlauf 656115606
Schwimmen 656119721
Schwimmen (Leerlauf) 656121397
Pirat >
Laufen 750783738
Gehen 750785693
Springen 750782230
Leerlauf 750781874, 750782770, 885515365
Leerlauf (Leerlauf) 750780242, 750782770, 885515365
Schwimmen 750784579
Schwimmen (Leerlauf) 750785176
Roboter
Laufen 616091570
Gehen 616095330
Springen 616090535
Leerlauf 616088211, 616089559, 885531463
Schlafen 616087089
Schwimmen 616092998
Schwimmen (Leerlauf) 616094091
Rthro
Laufen 2510198475
Gehen 2510202577
Springen 2510197830
Leerlauf 2510197257, 2510196951, 3711062489
Leerlauf (Leerlauf) 2510195892
Schwimmen 2510199791
Schwimmen (Leerlauf) 2510201162
Modisch
Laufen 616140816
Gehen 616146177
Springen 616139451
Leerlauf 616136790, 616138447, 886888594
Schlafen 616134815
Schwimmen 616143378
Schwimmen (Leerlauf) 616144772
Superheld
Laufen 616117076
Gehen 616122287
Springen 616115533
Leerlauf 616111295, 616113536, 885535855
Schlafen 616108001, 616113536, 885535855
Schwimmen 616119360
Schwimmen (Leerlauf) 616120861
Spielzeug >
Laufen 782842708
Gehen 782843345
Springen 782847020
Leerlauf 782841498, 782845736, 980952228
Fallen 782846423
Schwimmen 782844582
Schwimmen (Leerlauf) 782845186
Vampir
Laufen 1083462077
Gehen 1083473930
Springen 1083455352
Leerlauf 1083445855, 1083450166, 1088037547
Schlafen 1083443587
Schwimmen 1083464683
Schwimmen (Leerlauf) 1083467779
Werwolf
Laufen 1083216690
Gehen 1083178339
Springen 1083218792
Leerlauf 1083195517, 1083214717, 1099492820
Schlafen 1083189019
Schwimmen 1083222527
Schwimmen (Leerlauf) 1083225406
Zombie
Laufen 616163682
Gehen 616168032
Springen 616161997
Leerlauf 616158929, 616160636, 885545458
Fallen 616157476
Schwimmen 616165109
Schwimmen (Leerlauf) 616166655
Klettern 616156119