Usar animações

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Uma vez que você tenha criado uma animação, você precisa usar scripts para incluí-las em seu jogo. Você pode tocar animações manualmente a partir de scripts ou substituir animações padrão para personagens dos jogadores.

Tocar animações a partir de scripts

Em alguns casos, você precisará tocar uma animação diretamente de dentro de um script, como quando um usuário pressiona uma tecla específica ou pega um item especial.

Humanoides

Para tocar uma animação em um rig contendo um objeto Humanoid, como personagens jogáveis típicos, siga este padrão básico:

  1. Certifique-se de que o Humanoid do jogador local contenha um objeto Animator.
  2. Crie uma nova instância de Animation com o AnimationId adequado.
  3. Carregue a animação via Animator:LoadAnimation() para criar uma AnimationTrack.
  4. Toque a faixa com AnimationTrack:Play().

Por exemplo, o seguinte LocalScript, quando colocado em StarterPlayerScripts, carrega uma animação de "chute" no personagem do jogador e a toca. O script também utiliza o método GetMarkerReachedSignal() para detectar quando um evento de animação específico ocorre.

LocalScript - Tocar Animação Personalizada no Personagem do Jogador

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Certifique-se de que o humanoide do personagem contenha um objeto "Animator"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Crie uma nova instância de "Animation" e atribua um ID de ativo de animação
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Carregue a animação no animador
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Se um evento nomeado foi definido para a animação, conecte-o a "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Tocar a faixa de animação
kickAnimationTrack:Play()

Não-humanóides

Para tocar animações em rigs que não contêm um Humanoid, você deve criar um AnimationController com um Animator filho. Por exemplo, o seguinte Script (assumido como um filho direto do rig) carrega uma animação de "chute" e a toca.

Script - Tocar Animação Personalizada no Rig do Personagem

local rig = script.Parent
-- Crie uma nova instância de "Animation" e atribua um ID de ativo de animação
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Crie um novo "AnimationController" e "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Carregue a animação no animador
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Se um evento nomeado foi definido para a animação, conecte-o a "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Tocar a faixa de animação
kickAnimationTrack:Play()

Substituir animações padrão

Por padrão, os personagens dos jogadores no Roblox incluem animações comuns como correr, escalar, nadar e pular. Você pode substituir essas animações padrão por animações do catálogo ou por suas próprias animações personalizadas.

  1. Obtenha o ID do ativo da nova animação da seguinte forma:

  2. Na janela do Explorer, adicione um novo Script ao ServerScriptService.

    1. Passe o mouse sobre ServerScriptService e clique no botão ⊕.
    2. No menu contextual, insira um Script.
  3. No novo script, cole o seguinte código:

    Script - Substituir Animações Padrão do Personagem

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obter animador no humanoide
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Parar todas as faixas de animação
    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. Para cada linha que faz referência a uma animação de personagem padrão, descomente-a e cole o ID de substituição após rbxassetid://. Por exemplo, para mudar a animação de correr padrão para a variante Ninja Run:

    Script - Substituir Animações Padrão do Personagem

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obter animador no humanoide
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Parar todas as faixas de animação
    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)

Definir pesos de animação

Você pode usar várias animações para a mesma ação. Por exemplo, existem duas variações de idle no exemplo de código para substituir animações padrão.

Quando várias animações existem para um estado do personagem, o script Animate escolhe aleatoriamente qual tocar, mas você pode influenciar o resultado definindo o valor de Weight da animação sob a seguinte fórmula:

  • peso da animação / peso total de todas as animações de estado

No exemplo a seguir, idle.Animation1 será tocada ⅓ do tempo que o personagem estiver parado, enquanto idle.Animation2 será tocada ⅔ do tempo.

Script - Substituir Animações Padrão do Personagem

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

Referências de animação

Animações padrão do personagem

A tabela a seguir contém todas as animações padrão do personagem que você pode substituir por animações do catálogo ou por suas próprias animações personalizadas. Note que Idle tem duas variações que você pode pesar para tocar com mais ou menos frequência.

Ação do personagemReferência do script Animate
CorreranimateScript.run.RunAnim.AnimationId
AndaranimateScript.walk.WalkAnim.AnimationId
PularanimateScript.jump.JumpAnim.AnimationId
Parado

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

CairanimateScript.fall.FallAnim.AnimationId
Nadar

animateScript.swim.Swim.AnimationId

Nadar (Parado)

animateScript.swimidle.SwimIdle.AnimationId

EscalaranimateScript.climb.ClimbAnim.AnimationId

Ao usar pacotes de animação de avatar para substituir animações padrão, use as seguintes referências para os respectivos IDs de ativos. Por exemplo, se você deseja aplicar a animação Ninja Jump, use 656117878. Note que Idle tem várias variações.

Astronauta
Correr
891636393
Andar
891636393
Pular
891627522
Parado
891621366, 891633237, 1047759695
Cair
891617961
Nadar
891639666
Nadar (Parado)
891663592
Escalar
891609353
Bubbly
Correr
910025107
Andar
910034870
Pular
910016857
Parado
910004836, 910009958, 1018536639
Cair
910001910
Nadar
910028158
Nadar (Parado)
910030921
Escalar
909997997
Cartoon
Correr
742638842
Andar
742640026
Pular
742637942
Parado
742637544, 742638445, 885477856
Cair
742637151
Nadar
742639220
Nadar (Parado)
742639812
Escalar
742636889
Idoso
Correr
845386501
Andar
845403856
Pular
845398858
Parado
845397899, 845400520, 901160519
Cair
845396048
Nadar
845401742
Nadar (Parado)
845403127
Escalar
845392038
Cavaleiro
Correr
657564596
Andar
657552124
Pular
658409194
Parado
657595757, 657568135, 885499184
Cair
657600338
Nadar
657560551
Nadar (Parado)
657557095
Escalar
658360781
Levitação
Correr
616010382
Andar
616013216
Pular
616008936
Parado
616006778, 616008087, 886862142
Cair
616005863
Nadar
616011509
Nadar (Parado)
616012453
Escalar
616003713
Mago
Correr
707861613
Andar
707897309
Pular
707853694
Parado
707742142, 707855907, 885508740
Cair
707829716
Nadar
707876443
Nadar (Parado)
707894699
Escalar
707826056
Ninja
Correr
656118852
Andar
656121766
Pular
656117878
Parado
656117400, 656118341, 886742569
Cair
656115606
Nadar
656119721
Nadar (Parado)
656121397
Escalar
656114359
Pirata
Correr
750783738
Andar
750785693
Pular
750782230
Parado
750781874, 750782770, 885515365
Cair
750780242
Nadar
750784579
Nadar (Parado)
750785176
Escalar
750779899
Robô
Correr
616091570
Andar
616095330
Pular
616090535
Parado
616088211, 616089559, 885531463
Cair
616087089
Nadar
616092998
Nadar (Parado)
616094091
Escalar
616086039
Rthro
Correr
2510198475
Andar
2510202577
Pular
2510197830
Parado
2510197257, 2510196951, 3711062489
Cair
2510195892
Nadar
2510199791
Nadar (Parado)
2510201162
Escalar
2510192778
Estiloso
Correr
616140816
Andar
616146177
Pular
616139451
Parado
616136790, 616138447, 886888594
Cair
616134815
Nadar
616143378
Nadar (Parado)
616144772
Escalar
616133594
Super-herói
Correr
616117076
Andar
616122287
Pular
616115533
Parado
616111295, 616113536, 885535855
Cair
616108001
Nadar
616119360
Nadar (Parado)
616120861
Escalar
616104706
Brinquedo
Correr
782842708
Andar
782843345
Pular
782847020
Parado
782841498, 782845736, 980952228
Cair
782846423
Nadar
782844582
Nadar (Parado)
782845186
Escalar
782843869
Vampiro
Correr
1083462077
Andar
1083473930
Pular
1083455352
Parado
1083445855, 1083450166, 1088037547
Cair
1083443587
Nadar
1083464683
Nadar (Parado)
1083467779
Escalar
1083439238
Lobisomem
Correr
1083216690
Andar
1083178339
Pular
1083218792
Parado
1083195517, 1083214717, 1099492820
Cair
1083189019
Nadar
1083222527
Nadar (Parado)
1083225406
Escalar
1083182000
Zumbi
Correr
616163682
Andar
616168032
Pular
616161997
Parado
616158929, 616160636, 885545458
Cair
616157476
Nadar
616165109
Nadar (Parado)
616166655
Escalar
616156119
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.