Adicionar animações

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

Para implementar animações no jogo, use scripts.Para este Tutorial, você implementará a animação de vitória previamente feita usando um script pré-feito.Uma vez terminada, essa animação pode ser usada para celebrar a conquista de um jogador, como chegar ao fim de um obby ou encontrar um segredo.

Animações de script

Animações são acionadas usando scripts .Uma abordagem é usar eventos para reproduzir animações em uma variedade de situações, como um jogador terminando um nível, derrotando um adversário / inimigoou até mesmo fazendo uma comprarno jogo.

Configurar o projeto

Para este projeto, você criará peças que, quando tocadas, desencadeiam uma animação para aquele jogador.

  1. Para organizar todas as partes que vão tocar a animações, adicione uma pasta no Workspace (passe o mouse sobre o Workspace e clique +) chamada TouchPartFolder.

  2. No TouchPartFolder, adicione uma peça.

    Certifique-se de que a peça está posicionada onde jogar a animação faria sentido, como o fim de um nível ou perto de um objeto que os jogadores coletam.

    Exemplo de Parte de Vitória
    >

    Exemplo de Interação de Parte
    >

  3. No StarterPlayer > StarterCharacterScripts, crie um LocalScript chamado TouchPartRegister. Então copie e cole o código abaixo.


    -- Usado com o script "PlayerAnimationFeedback" para reproduzir animações nas interações das peças
    -- Serviços
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local canTouch = false
    -- Incluir módulo de animação de feedback
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- Função chamada quando uma parte é tocada
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- Na inicialização, chame a função de carregamento de módulo de animação
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- Também vincule uma pasta de peças ao evento "Tocado" para executar "onPartTouch()"
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Este script encontra todas as peças no TouchPartFolder e lhes dá eventos Touched() .Ao ser disparado, o evento executa uma função que toca uma animação para um jogador.

  4. O próximo script gera animações para um jogador.No ReplicatedStorage, crie um novo ModuleScript chamado PlayerAnimationFeedback.Então, copie e cole o código abaixo.


    -- Usado com o script "TouchPartRegister" para reproduzir animações para um jogador
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- Função para carregar animação no personagem do jogador
    function PlayerAnimationFeedback:LoadAnimation(humanoid)
    local feedbackAnimation = Instance.new("Animation")
    feedbackAnimation.AnimationId = ANIMATION_ID
    feedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)
    feedbackAnimationTrack.Priority = Enum.AnimationPriority.Action
    feedbackAnimationTrack.Looped = false
    end
    -- Função para reproduzir a animações
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Jogar animações

Animações devem ser identificadas em um script, carregadas e tocadas.

Defina a animações

O script precisa saber qual animação jogar.Para usar uma animaçõesexportada, encontre seu ID de recurso através de um navegador da web.Esse ID então permitirá que a animação seja carregada no script.

  1. Abra a seção Animações da página Criar.

  2. Localize e clique em uma animaçõesexportada.

  3. Copie o ID dela da URL no seu navegador.

  4. No script, PlayerAnimationFeedback, substitua o espaço reservado, YOUR_ANIMATION (Linha 8), com o ID que você copiou.

  5. Execute o projeto e teste que, uma vez que um jogador acerte a peça, você veja a animações.

Próximos passos

Abaixo estão algumas maneiras de continuar aprendendo

Aprenda sobre animações

Até agora, você aprendeu a criar animações e adicioná-las às experiências.Para continuar aprendendo, recomendamos visitar o Visão geral da Animação.

Nessa página, você encontrará links úteis para melhorar animações, como usar o editor de curvas para movimento suave ou dicas na refinamento de animações.

Anime peças

Além disso, inicie a lição opcional Animando Peças para aprender a codificar adolescentes, um recurso que permite que você dimensionar/escalonar, girare mova peças.Uma amostra do projeto final está abaixo.