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:
- Crie uma nova instância Animation com o devido AnimationId.
- Carregue a animação via Animator:LoadAnimation() para criar um AnimationTrack.
- 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.
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.
No novo script, cole o seguinte código:
Script - Substituir animações de personagens padrãolocal Players = game:GetService("Players")local function onCharacterAdded(character)-- Obter animador em humanoidelocal humanoid = character:WaitForChild("Humanoid")local animator = humanoid:WaitForChild("Animator")-- Pare todas as faixas de animaçãofor _, playingTrack in animator:GetPlayingAnimationTracks() doplayingTrack:Stop(0)endlocal 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://"endlocal function onPlayerAdded(player)player.CharacterAppearanceLoaded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)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ãolocal Players = game:GetService("Players")local function onCharacterAdded(character)-- Obter animador em humanoidelocal humanoid = character:WaitForChild("Humanoid")local animator = humanoid:WaitForChild("Animator")-- Pare todas as faixas de animaçãofor _, playingTrack in animator:GetPlayingAnimationTracks() doplayingTrack:Stop(0)endlocal 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://"endlocal function onPlayerAdded(player)player.CharacterAppearanceLoaded:Connect(onCharacterAdded)endPlayers.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 = 5animateScript.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ção | Referê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 |
Animações de catálogo
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 |