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ê criou uma animação, você precisa usar scripts para incluí-los em sua experiência.Você pode either reproduzir animações manualmente a partir de scripts ou substituir animações padrão para personagens do jogador.

Jogue animações de scripts

Em alguns casos, você precisará reproduzir uma animação diretamente a partir de dentro de um script, como quando um usuário pressiona uma determinada tecla ou pega um item especial.

Humanóides

Para reproduzir uma animação em um modelo que contém um ObjetoHumanoid , como tipicamente personagens jogáveis, siga este padrão básico:

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

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

LocalScript - Reproduza 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 contém um Objeto"Animador"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Crie uma nova instância de "Animação" e atribua um ID de recurso de animação
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Carregue a animação no animador
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Reproduza a trilha de animação
kickAnimationTrack:Play()
-- Se um evento nomeado foi definido para a animações, conecte-o a "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

Não-humanóides

Para reproduzir animações em rigs que não contêm não contenha um Humanoid , você deve criar um AnimationController com um filho Animator .Por exemplo, o seguinte Script (suposto ser um filho direto do rig / plataforma / equipamento) carrega uma animação "expulsar" e a toca.

Script - Reproduza animação personalizada no modelo de personagem

local rig = script.Parent
-- Crie uma nova instância de "Animação" e atribua um ID de recurso de animação
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Crie um novo "Controlador de Animação" e "Animador"
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)
-- Reproduza a trilha de animação
kickAnimationTrack:Play()
-- Se um evento nomeado foi definido para a animações, conecte-o a "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

Substituir animações padrão

Por padrão, os personagens de jogadores do 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 de recurso da nova animação da seguinte forma:

    • Para uma animação personalizada construída com o Editor de Animação, siga as instruções de exportação exportação.
    • Copie um ID apropriado da referência de animação do catálogo abaixo.Por exemplo, para substituir a animação de execução padrão pela variante Ninja Run, use 656118852.
  2. Na janela Explorer, adicione um novo Script a Serviço de Script de Servidor .

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

    Script - Substituir animações de personagens padrão

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obter animador em humanoide
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Pare todas as faixas de animação
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    --animateScript.executar.RunAnim.AnimationId = "rbxassetid://"
    --animateScript.andar.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.pular.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript. inativo.Animação1.AnimaçãoId = "rbxassetid://"
    --animateScript. inativo.Animação2.AnimaçãoId = "rbxassetid://"
    --animateScript.queda.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.nadar.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimaçãoId = "rbxassetid://"
    --animateScript.escalada.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. Para cada linha que referencia uma animação de personagem padrão , descomente-a e cole o ID de substituição após .Por exemplo, para alterar a animação de execução padrão para a variante Ninja Run:

    Script - Substituir animações de personagens padrão

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obter animador em humanoide
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Pare 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.andar.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.pular.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript. inativo.Animação1.AnimaçãoId = "rbxassetid://"
    --animateScript. inativo.Animação2.AnimaçãoId = "rbxassetid://"
    --animateScript.queda.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.nadar.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimaçãoId = "rbxassetid://"
    --animateScript.escalada.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 idle variações no código de amostra para substituir animações padrão.

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

  • peso da animação / peso total de todas as animações de estado No seguinte exemplo, idle.Animation1 vai jogar ⅓ do tempo que o personagem está inativo, enquanto idle.Animation2 vai jogar ⅔ do tempo.
Script - Substituir animações de personagens padrão

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 de personagens padrão

A tabela a seguir contém todas as animações padrão de personagens que você pode substituir com animações de catálogo ou suas próprias animações personalizadas>.Observe que Inactivo tem duas variações que você pode pesar para jogar mais ou menos frequentemente.

Ação de açãoReferência de script de animação
Correr animateScript.run.RunAnim.AnimationId
Caminhar animateScript.walk.WalkAnim.AnimationId
Pular animateScript.jump.JumpAnim.AnimationId
Inactivo

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

Cair animateScript.fall.FallAnim.AnimationId
Nadar

animateScript.swim.Swim.AnimationId

Nadar (Inactivo)

animateScript.swimidle.SwimIdle.AnimationId

Escalar animateScript.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ê quiser aplicar a animação Pulo de Ninja, use >.Observe que Inactivo tem várias variações.

Astronauta
Corra 891636393
Caminhe 891636393
Pule 891627522
Inactivo 891621366, 891633237, 1047759695
Nade 891617961
Nade (Inactivo) 891663592
Nade (Inactivo) 891609353
Bolhas
Corra 910025107
Caminhe 910034870
Pule 910016857
Inactivo 910004836, 910009958, 1018536639
Nade 910001910
Nade (Inactivo) 910030921
Nade (Inactivo) 910030921
Desenho Animado
Corra 742638842
Caminhe 742640026
Pule 742637942
Inactivo 742637544, 742638445, 885477856
Nade 742637151
Nade (Inactivo) 742639220
Nade (Inactivo) 742636889
Ancião
Corra 845386501
Caminhe 845403856
Pule 845398858
Inactivo 845397899, 845400520, 901160519
Nade 845396048
Nade (Inactivo) 845401742
Nade (Inactivo) 845392038
Cavaleiro
Corra 657564596
Caminhe 657552124
Pule 658409194
Inactivo 657595757, 657568135, 885499184
Nade 657600338, 657568135, 885499184
Nade (Inactivo) 657557095
Nade (Inactivo) 657560781
Levitação
Corra 616010382
Caminhe 616013216
Pule 616008936
Inactivo 616006778, 616008087, 886862142
Nade 616005863
Nade (Inactivo) 616012453
Nade (Inactivo) 616003713
Mago

Corra 707861613
Caminhe 707897309
Pule 707853694
Inactivo 707742142, 707855907, 885508740
Nade 707829716
Nade (Inactivo) 707894699
Nade (Inactivo) 707826056

Ninja
Corra 656118852
Caminhe 656121766
Pule 656117878
Inactivo 656117400, 656118341, 886742569
Nade 656115606
Nade (Inactivo) 656121397
Nade (Inactivo) 656119721
Pirata
Corra 750783738
Caminhe 750785693
Pule 750782230
Inactivo 750781874, 750782770, 885515365
Nade 750780242, 750782770, 885515365
Nade (Inactivo) 750785176
Nade (Inactivo) 750779899
Robô
Corra 616091570
Caminhe 616095330
Pule 616090535
Inactivo 616088211, 616089559, 885531463
Nade 616087089, 616089559, 885531463
Nade (Inactivo) 616094091
Nade (Inactivo) 616086039
Rthro
Corra 2510198475
Caminhe 2510202577
Pule 2510197830
Inactivo 2510197257, 2510196951, 3711062489
Nade 2510195892
Nade (Inactivo) 2510201162
Nade (Inactivo) 2510192778
Elegante
Corra 616140816
Caminhe 616146177
Pule 616139451
Inactivo 616136790, 616138447, 886888594
Nade 616134815
Nade (Inactivo) 616144772
Nade (Inactivo) 616133594
Super-herói
Corra 616117076
Caminhe 616122287
Pule 616115533
Inactivo 616111295, 616113536, 885535855
Nade 616108001, 616113536, 885535855
Nade (Inactivo) 616120861
Nade (Inactivo) 616104706
Brinquedo
Corra 782842708
Caminhe 782843345
Pule 782847020
Inactivo 782841498, 782845736, 980952228
Nade 782846423
Nade (Inactivo) 782845186
Nade (Inactivo) 782843869
Vampiro
Corra 1083462077
Caminhe 1083473930
Pule 1083455352
Inactivo 1083445855, 1083450166, 1088037547
Nade 1083443587
Nade (Inactivo) 1083467779
Nade (Inactivo) 1083467779
Nade (Inactivo) 1083439238
Lobinho
Corra 1083216690
Caminhe 1083178339
Pule 1083218792
Fique parado 1083195517, 1083214717, 1099492820
Nade 1083189019
Nade (Inactivo) 1083222527
Nade (Inactivo) 1083225406
Nade (Inactivo) 1083182000
Zumbi
Corra 616163682
Caminhe 616168032
Pule 616161997
Inactivo 616158929, 616160636, 885545458
Nade 616157476
Nade (Inactivo) 616165109
Nade (Inactivo) 616166655