Utiliser des animations

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Une fois que vous avez créé une animation, vous devez utiliser des scripts pour les inclure dans votre jeu. Vous pouvez soit jouer des animations manuellement à partir de scripts, soit remplacer les animations par défaut pour les personnages des joueurs.

Jouer des animations depuis des scripts

Dans certains cas, vous devrez jouer une animation directement depuis un script, par exemple lorsqu'un utilisateur presse une certaine touche ou ramasse un objet spécial.

Humanoïdes

Pour jouer une animation sur un rig contenant un objet Humanoid, comme les personnages jouables typiques, suivez ce modèle de base :

  1. Assurez-vous que le Humanoid du joueur local contient un objet Animator.
  2. Créez une nouvelle instance Animation avec le bon AnimationId.
  3. Chargez l'animation via Animator:LoadAnimation() pour créer un AnimationTrack.
  4. Jouez la piste avec AnimationTrack:Play().

Par exemple, le LocalScript suivant, lorsqu'il est placé dans StarterPlayerScripts, charge une animation "coup de pied" sur le personnage du joueur et la joue. Le script utilise également la méthode GetMarkerReachedSignal() pour détecter quand un événement d'animation spécifique se produit.

LocalScript - Jouer une animation personnalisée sur le personnage du joueur

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Assurez-vous que l'humanoïde du personnage contient un objet "Animator"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Créer une nouvelle instance "Animation" et assigner un ID d'asset d'animation
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Charger l'animation sur l'animateur
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Si un événement nommé a été défini pour l'animation, connectez-le à "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Jouer la piste d'animation
kickAnimationTrack:Play()

Non-humanoïdes

Pour jouer des animations sur des rigs qui ne contiennent pas de Humanoid, vous devez créer un AnimationController avec un enfant Animator. Par exemple, le Script suivant (supposé être un enfant direct du rig) charge une animation "coup de pied" et la joue.

Script - Jouer une animation personnalisée sur le rig du personnage

local rig = script.Parent
-- Créer une nouvelle instance "Animation" et assigner un ID d'asset d'animation
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Créer un nouvel "AnimationController" et "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Charger l'animation sur l'animateur
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Si un événement nommé a été défini pour l'animation, connectez-le à "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Jouer la piste d'animation
kickAnimationTrack:Play()

Remplacer les animations par défaut

Par défaut, les personnages joueurs de Roblox incluent des animations courantes comme courir, grimper, nager et sauter. Vous pouvez remplacer ces animations par défaut par des animations du catalogue ou par vos propres animations personnalisées.

  1. Obtenez l'ID d'asset de la nouvelle animation comme suit :

  2. Dans la fenêtre Explorer, ajoutez un nouveau Script à ServerScriptService.

    1. Survolez ServerScriptService et cliquez sur le bouton ⊕.
    2. Dans le menu contextuel, insérez un Script.
  3. Dans le nouveau script, collez le code suivant :

    Script - Remplacer les animations par défaut du personnage

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obtenez l'animateur sur l'humanoïde
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Arrêter toutes les pistes d'animation
    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. Pour chaque ligne qui fait référence à une animation par défaut du personnage, décommentez-la et collez l'ID de remplacement après rbxassetid://. Par exemple, pour changer l'animation de course par défaut pour le variant Ninja Run :

    Script - Remplacer les animations par défaut du personnage

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Obtenez l'animateur sur l'humanoïde
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Arrêter toutes les pistes d'animation
    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)

Définir les poids des animations

Vous pouvez utiliser plusieurs animations pour la même action. Par exemple, il existe deux variations idle dans l'exemple de code pour remplacer les animations par défaut.

Lorsque plusieurs animations existent pour un état de personnage, le script Animate choisit aléatoirement laquelle jouer, mais vous pouvez influencer le résultat en définissant la valeur Weight de l'animation selon la formule suivante :

  • poids de l'animation / poids total de toutes les animations de l'état

Dans l'exemple suivant, idle.Animation1 sera joué ⅓ du temps que le personnage est inactif, tandis que idle.Animation2 sera joué ⅔ du temps.

Script - Remplacer les animations par défaut du personnage

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

Références d'animation

Animations par défaut du personnage

Le tableau suivant contient toutes les animations par défaut du personnage que vous pouvez remplacer par des animations de catalogue ou vos propres animations personnalisées. Notez que Idle a deux variations que vous pouvez peser pour les faire jouer plus ou moins fréquemment.

Action du personnageRéférence du script Animate
CouriranimateScript.run.RunAnim.AnimationId
MarcheranimateScript.walk.WalkAnim.AnimationId
SauteranimateScript.jump.JumpAnim.AnimationId
Inactif

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

TomberanimateScript.fall.FallAnim.AnimationId
Nager

animateScript.swim.Swim.AnimationId

Nager (Inactif)

animateScript.swimidle.SwimIdle.AnimationId

GrimperanimateScript.climb.ClimbAnim.AnimationId

Animations du catalogue

Lors de l'utilisation de paquets d'animation d'avatar pour remplacer les animations par défaut, utilisez les références suivantes pour les ID d'asset respectifs. Par exemple, si vous souhaitez appliquer l'animation Ninja Jump, utilisez 656117878. Notez que Idle a plusieurs variations.

Astronaute
Courir
891636393
Marcher
891636393
Sauter
891627522
Inactif
891621366, 891633237, 1047759695
Tomber
891617961
Nager
891639666
Nager (Inactif)
891663592
Grimper
891609353
Jouet
Courir
910025107
Marcher
910034870
Sauter
910016857
Inactif
910004836, 910009958, 1018536639
Tomber
910001910
Nager
910028158
Nager (Inactif)
910030921
Grimper
909997997
Cartoony
Courir
742638842
Marcher
742640026
Sauter
742637942
Inactif
742637544, 742638445, 885477856
Tomber
742637151
Nager
742639220
Nager (Inactif)
742639812
Grimper
742636889
Elder
Courir
845386501
Marcher
845403856
Sauter
845398858
Inactif
845397899, 845400520, 901160519
Tomber
845396048
Nager
845401742
Nager (Inactif)
845403127
Grimper
845392038
Chevalier
Courir
657564596
Marcher
657552124
Sauter
658409194
Inactif
657595757, 657568135, 885499184
Tomber
657600338
Nager
657560551
Nager (Inactif)
657557095
Grimper
658360781
Lévitation
Courir
616010382
Marcher
616013216
Sauter
616008936
Inactif
616006778, 616008087, 886862142
Tomber
616005863
Nager
616011509
Nager (Inactif)
616012453
Grimper
616003713
Mage
Courir
707861613
Marcher
707897309
Sauter
707853694
Inactif
707742142, 707855907, 885508740
Tomber
707829716
Nager
707876443
Nager (Inactif)
707894699
Grimper
707826056
Ninja
Courir
656118852
Marcher
656121766
Sauter
656117878
Inactif
656117400, 656118341, 886742569
Tomber
656115606
Nager
656119721
Nager (Inactif)
656121397
Grimper
656114359
Pirate
Courir
750783738
Marcher
750785693
Sauter
750782230
Inactif
750781874, 750782770, 885515365
Tomber
750780242
Nager
750784579
Nager (Inactif)
750785176
Grimper
750779899
Robot
Courir
616091570
Marcher
616095330
Sauter
616090535
Inactif
616088211, 616089559, 885531463
Tomber
616087089
Nager
616092998
Nager (Inactif)
616094091
Grimper
616086039
Rthro
Courir
2510198475
Marcher
2510202577
Sauter
2510197830
Inactif
2510197257, 2510196951, 3711062489
Tomber
2510195892
Nager
2510199791
Nager (Inactif)
2510201162
Grimper
2510192778
Stylish
Courir
616140816
Marcher
616146177
Sauter
616139451
Inactif
616136790, 616138447, 886888594
Tomber
616134815
Nager
616143378
Nager (Inactif)
616144772
Grimper
616133594
Superhéro
Courir
616117076
Marcher
616122287
Sauter
616115533
Inactif
616111295, 616113536, 885535855
Tomber
616108001
Nager
616119360
Nager (Inactif)
616120861
Grimper
616104706
Jouet
Courir
782842708
Marcher
782843345
Sauter
782847020
Inactif
782841498, 782845736, 980952228
Tomber
782846423
Nager
782844582
Nager (Inactif)
782845186
Grimper
782843869
Vampire
Courir
1083462077
Marcher
1083473930
Sauter
1083455352
Inactif
1083445855, 1083450166, 1088037547
Tomber
1083443587
Nager
1083464683
Nager (Inactif)
1083467779
Grimper
1083439238
Loup-garou
Courir
1083216690
Marcher
1083178339
Sauter
1083218792
Inactif
1083195517, 1083214717, 1099492820
Tomber
1083189019
Nager
1083222527
Nager (Inactif)
1083225406
Grimper
1083182000
Zombie
Courir
616163682
Marcher
616168032
Sauter
616161997
Inactif
616158929, 616160636, 885545458
Tomber
616157476
Nager
616165109
Nager (Inactif)
616166655
Grimper
616156119
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.