Usar 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í.

Una vez que hayas creado una animación, necesitas usar scripts para incluirlas en tu juego. Puedes reproducir animaciones manualmente desde scripts o reemplazar animaciones predeterminadas para los personajes de los jugadores.

Reproducir animaciones desde scripts

En algunos casos, necesitarás reproducir una animación directamente desde dentro de un script, como cuando un usuario presiona una determinada tecla o recoge un objeto especial.

Humanoides

Para reproducir una animación en un rig que contiene un objeto Humanoid, como los personajes jugables típicos, sigue este patrón básico:

  1. Asegúrate de que el Humanoid del jugador local contenga un objeto Animator.
  2. Crea una nueva instancia de Animation con el AnimationId apropiado.
  3. Carga la animación a través de Animator:LoadAnimation() para crear un AnimationTrack.
  4. Reproduce la pista con AnimationTrack:Play().

Por ejemplo, el siguiente LocalScript, cuando se coloca en StarterPlayerScripts, carga una animación de "patada" en el personaje del jugador y la reproduce. El script también utiliza el método GetMarkerReachedSignal() para detectar cuándo ocurre un evento de animación específico.

LocalScript - Reproducir Animación Personalizada en el Personaje del Jugador

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Asegúrate de que el humanoide del personaje contenga un objeto "Animator"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Crear una nueva instancia de "Animation" y asignar un ID de activo de animación
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Cargar la animación en el animador
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Si se definió un evento nombrado para la animación, conéctalo a "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Reproducir la pista de animación
kickAnimationTrack:Play()

No-humanoides

Para reproducir animaciones en rigs que no contienen un Humanoid, debes crear un AnimationController con un Animator hijo. Por ejemplo, el siguiente Script (asumido como hijo directo del rig) carga una animación de "patada" y la reproduce.

Script - Reproducir Animación Personalizada en el Rig del Personaje

local rig = script.Parent
-- Crear una nueva instancia de "Animation" y asignar un ID de activo de animación
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Crear un nuevo "AnimationController" y "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Cargar la animación en el animador
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Si se definió un evento nombrado para la animación, conéctalo a "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Reproducir la pista de animación
kickAnimationTrack:Play()

Reemplazar animaciones predeterminadas

De forma predeterminada, los personajes de los jugadores de Roblox incluyen animaciones comunes como correr, escalar, nadar y saltar. Puedes reemplazar estas animaciones predeterminadas con animaciones del catálogo o con tus propias animaciones personalizadas.

  1. Obtén el ID de activo de la nueva animación de la siguiente manera:

  2. En la ventana de Explorer, agrega un nuevo Script a ServerScriptService.

    1. Pasa el mouse sobre ServerScriptService y haz clic en el botón ⊕.
    2. En el menú contextual, inserta un Script.
  3. En el nuevo script, pega el siguiente código:

    Script - Reemplazar Animaciones Predeterminadas del Personaje

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obtener animador en humanoide
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Detener todas las pistas de animación
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    --animateScript.run.RunAnim.AnimationId = "rbxassetid://"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. Para cada línea que haga referencia a una animación predeterminada del personaje, descoméntala y pega el ID de reemplazo después de rbxassetid://. Por ejemplo, para cambiar la animación de correr predeterminada a la variante Ninja Run:

    Script - Reemplazar Animaciones Predeterminadas del Personaje

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obtener animador en humanoide
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Detener todas las pistas de animación
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    animateScript.run.RunAnim.AnimationId = "rbxassetid://656118852"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)

Establecer pesos de animación

Puedes usar múltiples animaciones para la misma acción. Por ejemplo, hay dos variaciones de idle en el ejemplo de código para reemplazar las animaciones predeterminadas.

Cuando existen múltiples animaciones para un estado de personaje, el script Animate elige aleatoriamente cuál reproducir, pero puedes influir en el resultado estableciendo el valor de Weight de la animación bajo la siguiente fórmula:

  • peso de la animación / peso total de todas las animaciones de estado

En el siguiente ejemplo, idle.Animation1 se reproducirá ⅓ del tiempo que el personaje esté inactivo, mientras que idle.Animation2 se reproducirá ⅔ del tiempo.

Script - Reemplazar Animaciones Predeterminadas del Personaje

animateScript.idle.Animation1.AnimationId = "rbxassetid://656117400"
animateScript.idle.Animation2.AnimationId = "rbxassetid://656118341"
animateScript.idle.Animation1.Weight.Value = 5
animateScript.idle.Animation2.Weight.Value = 10

Referencias de animación

Animaciones predeterminadas del personaje

La siguiente tabla contiene todas las animaciones predeterminadas del personaje que puedes reemplazar con animaciones del catálogo o con tus propias animaciones personalizadas. Ten en cuenta que Idle tiene dos variaciones que puedes pesar para que se reproduzcan con más o menos frecuencia.

Acción del personajeReferencia del script Animate
CorreranimateScript.run.RunAnim.AnimationId
CaminaranimateScript.walk.WalkAnim.AnimationId
SaltaranimateScript.jump.JumpAnim.AnimationId
Inactivo

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

CaeranimateScript.fall.FallAnim.AnimationId
Nadar

animateScript.swim.Swim.AnimationId

Nadar (Inactivo)

animateScript.swimidle.SwimIdle.AnimationId

EscalaranimateScript.climb.ClimbAnim.AnimationId

Al utilizar paquetes de animación de avatar para reemplazar animaciones predeterminadas, utiliza las siguientes referencias para los respectivos ID de activos. Por ejemplo, si deseas aplicar la animación Ninja Jump, usa 656117878. Ten en cuenta que Idle tiene múltiples variaciones.

Astronauta
Correr
891636393
Caminar
891636393
Saltar
891627522
Inactivo
891621366, 891633237, 1047759695
Caer
891617961
Nadar
891639666
Nadar (Inactivo)
891663592
Escalar
891609353
Burbujeante
Correr
910025107
Caminar
910034870
Saltar
910016857
Inactivo
910004836, 910009958, 1018536639
Caer
910001910
Nadar
910028158
Nadar (Inactivo)
910030921
Escalar
909997997
Dibujos animados
Correr
742638842
Caminar
742640026
Saltar
742637942
Inactivo
742637544, 742638445, 885477856
Caer
742637151
Nadar
742639220
Nadar (Inactivo)
742639812
Escalar
742636889
Anciano
Correr
845386501
Caminar
845403856
Saltar
845398858
Inactivo
845397899, 845400520, 901160519
Caer
845396048
Nadar
845401742
Nadar (Inactivo)
845403127
Escalar
845392038
Caballero
Correr
657564596
Caminar
657552124
Saltar
658409194
Inactivo
657595757, 657568135, 885499184
Caer
657600338
Nadar
657560551
Nadar (Inactivo)
657557095
Escalar
658360781
Levitación
Correr
616010382
Caminar
616013216
Saltar
616008936
Inactivo
616006778, 616008087, 886862142
Caer
616005863
Nadar
616011509
Nadar (Inactivo)
616012453
Escalar
616003713
Mago
Correr
707861613
Caminar
707897309
Saltar
707853694
Inactivo
707742142, 707855907, 885508740
Caer
707829716
Nadar
707876443
Nadar (Inactivo)
707894699
Escalar
707826056
Ninja
Correr
656118852
Caminar
656121766
Saltar
656117878
Inactivo
656117400, 656118341, 886742569
Caer
656115606
Nadar
656119721
Nadar (Inactivo)
656121397
Escalar
656114359
Pirata
Correr
750783738
Caminar
750785693
Saltar
750782230
Inactivo
750781874, 750782770, 885515365
Caer
750780242
Nadar
750784579
Nadar (Inactivo)
750785176
Escalar
750779899
Robot
Correr
616091570
Caminar
616095330
Saltar
616090535
Inactivo
616088211, 616089559, 885531463
Caer
616087089
Nadar
616092998
Nadar (Inactivo)
616094091
Escalar
616086039
Rthro
Correr
2510198475
Caminar
2510202577
Saltar
2510197830
Inactivo
2510197257, 2510196951, 3711062489
Caer
2510195892
Nadar
2510199791
Nadar (Inactivo)
2510201162
Escalar
2510192778
Estiloso
Correr
616140816
Caminar
616146177
Saltar
616139451
Inactivo
616136790, 616138447, 886888594
Caer
616134815
Nadar
616143378
Nadar (Inactivo)
616144772
Escalar
616133594
Superhéroe
Correr
616117076
Caminar
616122287
Saltar
616115533
Inactivo
616111295, 616113536, 885535855
Caer
616108001
Nadar
616119360
Nadar (Inactivo)
616120861
Escalar
616104706
Juguete
Correr
782842708
Caminar
782843345
Saltar
782847020
Inactivo
782841498, 782845736, 980952228
Caer
782846423
Nadar
782844582
Nadar (Inactivo)
782845186
Escalar
782843869
Vampiro
Correr
1083462077
Caminar
1083473930
Saltar
1083455352
Inactivo
1083445855, 1083450166, 1088037547
Caer
1083443587
Nadar
1083464683
Nadar (Inactivo)
1083467779
Escalar
1083439238
Hombre Lobo
Correr
1083216690
Caminar
1083178339
Saltar
1083218792
Inactivo
1083195517, 1083214717, 1099492820
Caer
1083189019
Nadar
1083222527
Nadar (Inactivo)
1083225406
Escalar
1083182000
Zombi
Correr
616163682
Caminar
616168032
Saltar
616161997
Inactivo
616158929, 616160636, 885545458
Caer
616157476
Nadar
616165109
Nadar (Inactivo)
616166655
Escalar
616156119
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.