Użyj animacji

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Gdy już stworzyłeś animację, musisz użyć skryptów, aby włączyć je do swojej gry. Możesz albo odtwarzać animacje ręcznie poprzez skrypty, albo zastąpić domyślne animacje dla postaci graczy.

Odtwarzaj animacje z poziomu skryptów

W niektórych przypadkach będziesz musiał odtworzyć animację bezpośrednio z poziomu skryptu, na przykład, gdy użytkownik naciśnie określony klawisz lub podniesie specjalny przedmiot.

Humanoidy

Aby odtworzyć animację na rigach zawierających obiekt Humanoid, na przykład typowych postaciach gry, postępuj według tego podstawowego wzoru:

  1. Upewnij się, że Humanoid lokalnego gracza zawiera obiekt Animator.
  2. Utwórz nową instancję Animation z odpowiednim AnimationId.
  3. Załaduj animację za pomocą Animator:LoadAnimation(), aby utworzyć AnimationTrack.
  4. Odtwórz ścieżkę za pomocą AnimationTrack:Play().

Na przykład poniższy LocalScript, umieszczony w StarterPlayerScripts, ładował animację "kopnięcia" na postać gracza i ją odtwarzał. Skrypt wykorzystuje również metodę GetMarkerReachedSignal(), aby wykryć, kiedy wydarza się określone zdarzenie animacji.

LocalScript - Odtwórz animację niestandardową na postaci gracza
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Upewnij się, że humanoid postaci zawiera obiekt "Animator"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Utwórz nową instancję "Animation" i przypisz identyfikator zasobu animacji
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Załaduj animację na animatora
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Jeśli zdefiniowano nazwane zdarzenie dla animacji, połącz je z "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Odtwórz ścieżkę animacji
kickAnimationTrack:Play()

Non-humanoidy

Aby odtwarzać animacje na rigach, które nie zawierają Humanoid, musisz utworzyć AnimationController z podrzędnym Animator. Na przykład, poniższy Script (przyjęty jako bezpośredni potomny riga) ładuje animację "kopnięcia" i ją odtwarza.

Script - Odtwórz animację niestandardową na rig postaci
local rig = script.Parent
-- Utwórz nową instancję "Animation" i przypisz identyfikator zasobu animacji
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Utwórz nowy "AnimationController" i "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Załaduj animację na animatora
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Jeśli zdefiniowano nazwane zdarzenie dla animacji, połącz je z "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Odtwórz ścieżkę animacji
kickAnimationTrack:Play()

Zastąp domyślne animacje

Domyślnie, postacie graczy w Robloxie zawierają wspólne animacje, takie jak bieganie, wspinanie się, pływanie i skakanie. Możesz zastąpić te domyślne animacje animacjami z katalogu lub swoimi własnymi niestandardowymi animacjami.

  1. Uzyskaj identyfikator zasobu nowej animacji w następujący sposób:

  2. W oknie Eksploratora dodaj nowy Script do ServerScriptService.

    1. Najedź na ServerScriptService i kliknij przycisk ⊕.
    2. Z menu kontekstowego wstaw Skrypt.
  3. W nowym skrypcie wklej następujący kod:

    Script - Zastąp domyślne animacje postaci
    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Uzyskaj animatora na humanoidzie
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Zatrzymaj wszystkie ścieżki animacji
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    --animateScript.run.RunAnim.AnimationId = "rbxassetid://"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. Dla każdej linii odnoszącej się do domyślnej animacji postaci, odkomentuj ją i wklej identyfikator zastępujący po rbxassetid://. Na przykład, aby zmienić domyślną animację biegu na wersję Ninja Run:

    Script - Zastąp domyślne animacje postaci
    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Uzyskaj animatora na humanoidzie
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Zatrzymaj wszystkie ścieżki animacji
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    animateScript.run.RunAnim.AnimationId = "rbxassetid://656118852"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)

Ustaw wagi animacji

Możesz używać wielu animacji dla tej samej akcji. Na przykład, w kodzie próbnym dla zastępowania domyślnych animacji istnieją dwie warianty idle.

Gdy dla stanu postaci istnieje wiele animacji, skrypt Animate losowo wybiera, którą odtworzyć, ale możesz wpłynąć na wynik, ustawiając wartość Weight animacji zgodnie z następującym wzorem:

  • waga animacji / całkowita waga wszystkich animacji stanu

W poniższym przykładzie idle.Animation1 będzie odtwarzana ⅓ czasu, kiedy postać jest w stanie bezczynności, natomiast idle.Animation2 będzie odtwarzana ⅔ czasu.

Script - Zastąp domyślne animacje postaci
animateScript.idle.Animation1.AnimationId = "rbxassetid://656117400"
animateScript.idle.Animation2.AnimationId = "rbxassetid://656118341"
animateScript.idle.Animation1.Weight.Value = 5
animateScript.idle.Animation2.Weight.Value = 10

Odniesienia do animacji

Domyślne animacje postaci

Poniższa tabela zawiera wszystkie domyślne animacje postaci, które możesz zastąpić animacjami z katalogu lub swoimi własnymi niestandardowymi animacjami. Zauważ, że Idle ma dwie warianty, które możesz ważyć, aby odtwarzać je częściej lub rzadziej.

Akcja postaciOdniesienie skryptu animacji
BiegaćanimateScript.run.RunAnim.AnimationId
ChodzićanimateScript.walk.WalkAnim.AnimationId
SkakaćanimateScript.jump.JumpAnim.AnimationId
Bezczynność

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

UpaśćanimateScript.fall.FallAnim.AnimationId
Pływać

animateScript.swim.Swim.AnimationId

Pływać (Bezczynność)

animateScript.swimidle.SwimIdle.AnimationId

Wspinać sięanimateScript.climb.ClimbAnim.AnimationId

Animacje katalogowe

Kiedy używasz pakietów animacji awatara, aby zastąpić domyślne animacje, użyj następujących odniesień do odpowiednich identyfikatorów zasobów. Na przykład, jeśli chcesz zastosować animację Ninja Jump, użyj 656117878. Zauważ, że Idle ma wiele wariantów.

Astronauta
Biegać
891636393
Chodzić
891636393
Skakać
891627522
Bezczynność
891621366, 891633237, 1047759695
Upaść
891617961
Pływać
891639666
Pływać (Bezczynność)
891663592
Wspinać się
891609353
Bubbly
Biegać
910025107
Chodzić
910034870
Skakać
910016857
Bezczynność
910004836, 910009958, 1018536639
Upaść
910001910
Pływać
910028158
Pływać (Bezczynność)
910030921
Wspinać się
909997997
Cartoony
Biegać
742638842
Chodzić
742640026
Skakać
742637942
Bezczynność
742637544, 742638445, 885477856
Upaść
742637151
Pływać
742639220
Pływać (Bezczynność)
742639812
Wspinać się
742636889
Elder
Biegać
845386501
Chodzić
845403856
Skakać
845398858
Bezczynność
845397899, 845400520, 901160519
Upaść
845396048
Pływać
845401742
Pływać (Bezczynność)
845403127
Wspinać się
845392038
Knight
Biegać
657564596
Chodzić
657552124
Skakać
658409194
Bezczynność
657595757, 657568135, 885499184
Upaść
657600338
Pływać
657560551
Pływać (Bezczynność)
657557095
Wspinać się
658360781
Levitation
Biegać
616010382
Chodzić
616013216
Skakać
616008936
Bezczynność
616006778, 616008087, 886862142
Upaść
616005863
Pływać
616011509
Pływać (Bezczynność)
616012453
Wspinać się
616003713
Mag
Biegać
707861613
Chodzić
707897309
Skakać
707853694
Bezczynność
707742142, 707855907, 885508740
Upaść
707829716
Pływać
707876443
Pływać (Bezczynność)
707894699
Wspinać się
707826056
Ninja
Biegać
656118852
Chodzić
656121766
Skakać
656117878
Bezczynność
656117400, 656118341, 886742569
Upaść
656115606
Pływać
656119721
Pływać (Bezczynność)
656121397
Wspinać się
656114359
Pirata
Biegać
750783738
Chodzić
750785693
Skakać
750782230
Bezczynność
750781874, 750782770, 885515365
Upaść
750780242
Pływać
750784579
Pływać (Bezczynność)
750785176
Wspinać się
750779899
Robot
Biegać
616091570
Chodzić
616095330
Skakać
616090535
Bezczynność
616088211, 616089559, 885531463
Upaść
616087089
Pływać
616092998
Pływać (Bezczynność)
616094091
Wspinać się
616086039
Rthro
Biegać
2510198475
Chodzić
2510202577
Skakać
2510197830
Bezczynność
2510197257, 2510196951, 3711062489
Upaść
2510195892
Pływać
2510199791
Pływać (Bezczynność)
2510201162
Wspinać się
2510192778
Stylowy
Biegać
616140816
Chodzić
616146177
Skakać
616139451
Bezczynność
616136790, 616138447, 886888594
Upaść
616134815
Pływać
616143378
Pływać (Bezczynność)
616144772
Wspinać się
616133594
Superbohater
Biegać
616117076
Chodzić
616122287
Skakać
616115533
Bezczynność
616111295, 616113536, 885535855
Upaść
616108001
Pływać
616119360
Pływać (Bezczynność)
616120861
Wspinać się
616104706
Zabawka
Biegać
782842708
Chodzić
782843345
Skakać
782847020
Bezczynność
782841498, 782845736, 980952228
Upaść
782846423
Pływać
782844582
Pływać (Bezczynność)
782845186
Wspinać się
782843869
Wampir
Biegać
1083462077
Chodzić
1083473930
Skakać
1083455352
Bezczynność
1083445855, 1083450166, 1088037547
Upaść
1083443587
Pływać
1083464683
Pływać (Bezczynność)
1083467779
Wspinać się
1083439238
Wilkołak
Biegać
1083216690
Chodzić
1083178339
Skakać
1083218792
Bezczynność
1083195517, 1083214717, 1099492820
Upaść
1083189019
Pływać
1083222527
Pływać (Bezczynność)
1083225406
Wspinać się
1083182000
Zombie
Biegać
616163682
Chodzić
616168032
Skakać
616161997
Bezczynność
616158929, 616160636, 885545458
Upaść
616157476
Pływać
616165109
Pływać (Bezczynność)
616166655
Wspinać się
616156119
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.