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.

Po utworzeniu animacji musisz użyć skryptów, aby uwzględnić je w swoim doświadczeniu.Możesz albo odtwarzać animacje ręcznie z kodów lub zastąpić domyślne animacje dla postaci gracza.

Odtwarzaj animacje z kodów

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

Humanoidy

Aby odtworzyć animację na sprzęcie zawierającym obiekt Humanoid , takich jak typowe odtwarzalne postacie, postępuj zgodnie z tym podstawowym wzorem:

  1. Upewnij się, że lokalny gracz Humanoid zawiera obiekt Animator.
  2. Stwórz nową instancję Animation z właściwym AnimationId.
  3. Załaduj animację za pomocą Animator:LoadAnimation() , aby stworzyć AnimationTrack.
  4. Odtwórz utwór z AnimationTrack:Play().

Na przykład, następująca LocalScript, gdy umieszczona w StarterPlayerScripts, ładowuje animację "wyrzucać" na postać gracza i odtwarza ją.Skrypt wykorzystuje również metodę GetMarkerReachedSignal() do wykrycia, kiedy wystąpi określone wydarzenie animacji ..

LocalScript - Odtwarzaj niestandardową animację 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")
-- Stwórz nową instancję "Animacji" i przypisz ID zasobu animacji
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Załaduj animację na animatorze
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Odtwórz ścieżkę animacji
kickAnimationTrack:Play()
-- Jeśli nazwane wydarzenie zostało zdefiniowane dla animacja, połącz je z "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

Nie-humanoidy

Aby odtwarzać animacje na rygach, które nie zawierają nie zawierają dziecko Humanoid , musisz utworzyć AnimationController z dzieckiem Animator.Na przykład, następująca Script (domniemana jako bezpośrednie dziecko ryg) ładowuje animację "wyrzucać" i odtwarza ją.

Skrypt - Odtwórz niestandardową animację na postaci Rig

local rig = script.Parent
-- Stwórz nową instancję "Animacji" i przypisz ID zasobu animacji
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Utwórz nowy "Animator" i "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Załaduj animację na animatorze
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Odtwórz ścieżkę animacji
kickAnimationTrack:Play()
-- Jeśli nazwane wydarzenie zostało zdefiniowane dla animacja, połącz je z "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

Zastąp domyślne animacje

Domyślnie postacie graczy Roblox zawierają zwykłe animacje, takie jak bieganie, wspinanie, pływanie i skakanie.Możesz zastąpić te domyślne animacje animacjami z katalogu lub własnymi animacjami niestandardowymi.

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

    • Dla niestandardowej animacji zbudowanej za pomocą edytora animacji , postępuj zgodnie z instrukcjami eksportu.
    • Skopiuj odpowiednią identyfikator z referencji animacji katalogu poniżej.Na przykład, aby zastąpić domyślną animację uruchamiania za pomocą wariantu Ninja Run, użyj 656118852.
  2. W oknie Eksploratora dodaj nowy Script do ServerScriptService .

    1. Przejdź nad Serwerową usługę skryptową i kliknij przycisk ⊕.
    2. Z menu kontekstowego wstaw Skrypt .
  3. W nowym skrypcie wklej następujący kod:

    Skrypt - Zastąp domyślne animacje postaci

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Zdobądź 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.chód.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.skok.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.bezczynność.Animacja1.ID animacji = "rbxassetid://"
    --animateScript.bezczynność.Animacja2.Id animacji = "rbxassetid://"
    --animateScript.upadek.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.pływanie.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.wspinaczka.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. Dla każdej linii, która odnosi się do animacji domyślnego postaci , odkomentuj ją i wklej ID zastępowania po .Na przykład, aby zmienić domyślną animację uruchamiania na wariant Bieg Ninja:

    Skrypt - Zastąp domyślne animacje postaci

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Zdobądź 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.chód.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.skok.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.bezczynność.Animacja1.ID animacji = "rbxassetid://"
    --animateScript.bezczynność.Animacja2.Id animacji = "rbxassetid://"
    --animateScript.upadek.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.pływanie.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.wspinaczka.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, istnieją dwie odmiany idle w próbce kodu dla zastąpienia domyślnych animacji.

Gdy istnieją wiele animacji dla stanu postaci, skrypt Animuj losowo wybiera jedną z nich, ale możesz wpłynąć na wynik poprzez ustawienie wartości animacjapod następującą formułą:

  • waga animacji / ogólna waga wszystkich animacji stanu W następnym przykładzie idle.Animation1 będzie odtwarzać ⅓ czasu, gdy postać jest bezczynność, podczas gdy idle.Animation2 będzie odtwarzać ⅔ czasu.
Skrypt - 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

Odwołania 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 własnymi animacjami niestandardowymi.Zauważ, że Nieaktywny ma dwie odmiany, które możesz ważyć grać częściej lub rzadziej.

Akcja akcjiAnimuj odniesienie skryptu
Wykonaj animateScript.run.RunAnim.AnimationId
Chód animateScript.walk.WalkAnim.AnimationId
Skok animateScript.jump.JumpAnim.AnimationId
Nieaktywny

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

Upadek animateScript.fall.FallAnim.AnimationId
Pływaj

animateScript.swim.Swim.AnimationId

Pływaj (leniwy)

animateScript.swimidle.SwimIdle.AnimationId

Wspinaj animateScript.climb.ClimbAnim.AnimationId

Animacje katalogowe

Podczas używania pakietów animacji awatara do zastąpienia domyślnych animacji, użyj następujących odniesień do odpowiednich ID zasobów.Na przykład, jeśli chcesz zastosować animacjaSkok Ninja, użyj >.Zauważ, że Nieaktywny ma wiele odmian.

Astronauta >
Biegnij 891636393
Chodź 891636393
Skacz 891627522
Leniwy 891621366, 891633237, 1047759695
Pływaj 891617961
Pływaj (leniwy) 891663592
Pływaj (leniwy) 891609353
Bąbelkowy
Uruchom 910025107
Chodzenie 910034870
Skok 910016857
Nieaktywność 910004836, 910009958, 1018536639
Pływanie 910001910
Pływanie (nieaktywne) 910030921
Pływanie (nieaktywne) 910030921
Rysunkowe
Biegnij 742638842
Chodź 742640026
Skacz 742637942
Leniwy 742637544, 742638445, 885477856
Pływaj 742637151
Pływaj (leniwy) 742639220
Pływaj (leniwy) 742636889
Starszy
Biegnij 845386501
Chodź 845403856
Skacz 845398858
Nieaktywny 845397899, 845400520, 901160519
Pływaj 845396048
Pływaj (nieaktywny) 845401742
Pływaj (nieaktywny) 845392038
Rycerz >
Biegnij 657564596
Chodź 657552124
Skacz 658409194
Leniwy 657595757, 657568135, 885499184
Pływaj 657600338
Pływaj (leniwy) 657560551
Pływaj (leniwy) 657557095
Levitacja >
Bieg 616010382
Chód 616013216
Skok 616008936
Nieaktywność 616006778, 616008087, 886862142
Pływanie 616005863
Pływanie (nieaktywne) 616012453
Pływanie (nieaktywne) 616003713
Magik
Biegnij 707861613
Chodź 707897309
Skacz 707853694
Leniwy 707742142, 707855907, 885508740
Pływaj 707829716
Pływaj (leniwy) 707894699
Pływaj (leniwy) 707826056
Ninja >
Biegnij 656118852
Chodź 656121766
Skacz 656117878
Leniwy 656117400, 656118341, 886742569
Pływaj 656115606
Pływaj (leniwy) 656121397
Pływaj (leniwy) 656119721
Pirat >
Biegnij 750783738
Chodź 750785693
Skacz 750782230
Leniwy 750781874, 750782770, 885515365
Pływaj 750780242, 750782770, 885515365
Pływaj (leniwy) 750785176
Pływaj (leniwy) 750785176
Robot >
Biegnij 616091570
Chodź 616095330
Skacz 616090535
Nieaktywny 616088211, 616089559, 885531463
Pływaj 616087089
Pływaj (nieaktywny) 616094091
Pływaj (nieaktywny) 616086039
Rthro
Biegnij 2510198475
Chodź 2510202577
Skacz 2510197830
Nieaktywny 2510197257, 2510196951, 3711062489
Pływaj 2510195892
Pływaj (nieaktywny) 2510201162
Pływaj (nieaktywny) 2510192778
Stylowy

Biegnij 616140816
Chodź 616146177
Skacz 616139451
Leniwy 616136790, 616138447, 886888594
Pływaj 616134815
Pływaj (leniwy) 616144772
Pływaj (leniwy) 616133594

Superbohater
Biegnij 616117076
Chodź 616122287
Skacz 616115533
Leniwy 616111295, 616113536, 885535855
Pływaj 616108001, 616113536, 885535855
Pływaj (leniwy) 616120861
Pływaj (leniwy) 616104706
Zabawka
Biegnij 782842708
Chodź 782843345
Skacz 782847020
Nieaktywny 782841498, 782845736, 980952228
Pływaj 782846423
Pływaj (nieaktywny) 782845186
Pływaj (nieaktywny) 782843869
Wampir
Biegnij 1083462077
Chodź 1083473930
Skacz 1083455352
Leniwy 1083445855, 1083450166, 1088037547
Pływaj 1083443587
Pływaj (leniwy) 1083467779
Pływaj (leniwy) 1083467779
Wilkołak

Biegnij 1083216690
Chodź 1083178339
Skacz 1083218792
Leż 1083195517, 1083214717, 1099492820
Leż (Idle) 1083189019
Pływaj 1083222527
Pływaj (Idle) 1083225406
Chodź (Idle) 1083182000

Zombie
Biegnij 616163682
Chodź 616168032
Skacz 616161997
Leniwy 616158929, 616160636, 885545458
Pływaj 616157476
Pływaj (leniwy) 616165109
Pływaj (leniwy) 616166655