Adicionando 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 feita previamente usando um script pré-feito. Depois de terminar, esta 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 . Um abordagem é usar eventos para jogar 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, gerarão uma animação para aquele jogador.

  1. Para organizar todas as peças que vão jogar a animações, adicione uma pasta no Workspace ( hover over Workspace e clique +) chamada TouchPartFolder.

  2. In TouchPartFolder, adicione uma parte.

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

    Exemplo de Vitória Parcial
    Exemplo de Peça de Interação
  3. Em StarterPlayer > StarterCharacterScripts, crie um LocalScript chamado TouchPartRegister. Em seguida, copie e cole o código abaixo.


    -- Usado com o script "PlayerAnimationFeedback" para tocar animações em partes
    -- 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 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
    -- No início, chame a função de carregamento do módulo de animação
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- Vincule também um pasta de peças ao evento "Touched" para executar "onPartTouch()"
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Este script encontrar todas as peças no TouchPartFolder e os dar Touched() eventos. Quando 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 novoModuleScript chamado PlayerAnimationFeedback. Em seguida, copie e cole o código abaixo.


    -- Usado com o script "TouchPartRegister" para tocar 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 jogar a animações
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Jogando Animações

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

Configurando a Animação

O script precisa saber qual animação jogar. Para usar uma animaçõesexportada, encontre seu ID de ativo através de um navegador web. Esse ID então permitirá que essa 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 seu ID da URL no seu navegador.

  4. No script, PlayerAnimationFeedback, substitua o placeholder, YOUR_ANIMATION (Linha 8), pelo ID que você copiou .

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

Próximos passos

Abaixo estão algumas maneiras de continuar aprendendo

Aprenda sobre Animação

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

Nessa página, você encontrará links úteis para melhorar as animações, como usar o editor de curva para movimento suave ou dicas em refinar as animações.

Animações de Peças

Além disso, comece a lição opcional Animating Parts para aprender a codificar adolescentes, uma característica que permite dimensionar/escalonar, girar e mover peças. Um exemplo do projeto final está abaixo.