Añadir animaciones

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Para implementar animaciones en el juego, use scripts. Para este tutorial, implementará la animación de victoria previamente hecha utilizando un script predeterminado. Una vez terminado, esta animación se puede usar para celebrar el logro de un jugador, como alcanzar el final de un obby o encontrar un secreto.

Animaciones de Scripting

Las animaciones se activan usando scripts . Un enfoque es usar eventos para jugar animaciones en una variedad de situaciones, como un jugador terminando un nivel, derrotando a un enemigo o incluso haciendo una compraren el juego.

Configurar el proyecto

Para este proyecto, crearás partes que cuando se tocan, se activa una animación para ese jugador.

  1. Para organizar todas las partes que jugarán la animaciones, agregue un directorio en el espacio de trabajo (pase el cursor sobre el espacio de trabajo y haga clic +) llamado TouchPartFolder.

  2. En TouchPartFolder, agrega una parte.

    Asegúrese de que la parte se coloque donde jugar la animación tenga sentido, como el final de un nivel o cerca de un objeto que los jugadores recolecten.

    Ejemplo de Victory Part
    Parte de Interacción de Ejemplo
  3. En StarterPlayer > StarterCharacterScripts, crea un LocalScript llamado TouchPartRegister. Luego copia y pega el código a continuación.


    -- Se usa con el script "PlayerAnimationFeedback" para jugar animaciones en partes tocadas
    -- Servicios
    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
    -- Incluya el módulo de animación de sugerencias
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- Función llamada cuando se toca una parte
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- Al iniciar, llamar la función de carga del módulo de animación
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- Además, vincula un directorio de partes al evento "Touched" para ejecutar "onPartTouch()"
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Este script encuentra todas las partes en el TouchPartFolder y les da eventos Touched() . Cuando se activa, se ejecuta una función que juega una animación para un jugador.

  4. El siguiente script activa animaciones para un jugador. En ReplicatedStorage, crea un nuevo MóduloScript llamado PlayerAnimationFeedback. Luego, copia y pega el código a continuación.


    -- Se usa con el script "TouchPartRegister" para jugar animaciones para un jugador
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- Función para cargar animación en el personaje del jugador
    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
    -- Función para jugar la animaciones
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Reproducir animaciones

Las animaciones deben identificarse en un script, cargarse y jugarse.

Configurando la Animación

El script necesita saber qué animación jugar. Para usar una animacionesexportada, encuentra su ID de activo a través de un navegador web. Ese ID luego permitirá que se cargue esa animación en el script.

  1. Abre la sección Animaciones de la página de Crear.

  2. Ubique y haga clic en una animacionesexportada.

  3. Copia su ID de la URL en tu navegador.

  4. En el script, PlayerAnimationFeedback, reemplaza el marcador de lugar, YOUR_ANIMATION (Línea 8), con el ID que copiaste.

  5. Corre el proyecto y prueba que una vez que un jugador toque la parte, veas la animaciones.

Siguiente pasos

A continuación, hay algunas formas de continuar aprendiendo

Aprende sobre animación

Hasta ahora, has aprendido a crear animaciones y añadirlas a las experiencias. Para continuar aprendiendo, te recomendamos visitar la visión general de animación.

En esa página, encontrarás enlaces útiles para mejorar las animaciones, como usar el editor de curvas para un movimiento suave o consejos en refinar las animaciones.

Animar Partes

Además, comienza la lección opcional Animating Parts para aprender a codificar a los adolescentes, una característica que te permite redimensionar, girar y mover partes. Un ejemplo del proyecto final está a continuación.