Ajouter des animations

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

Pour implémenter les animations dans le jeu, utilisez des scripts. Pour ce tutoriel, vous allez implémenter l'animation de victoire précédemment créée en utilisant un script pré-créé. Une fois terminé, cette animation peut être utilisée pour célébrer le succès d'un joueur, comme atteindre la fin d'un obby ou trouver un secret.

Scripting des animations

Les animations sont déclenchées à l'aide de scripts . Une approche consiste à utiliser des événements pour jouer des animations dans une variété de situations, comme un joueur terminant un niveau, en battant un ennemi ou même en faisant un acheterdans le jeu.

Configurer le projet

Pour ce projet, vous créerez des parties qui lorsqu'elles sont touchées, déclenchent une animation pour ce joueur.

  1. Pour organiser toutes les parties qui joueront l'animations, ajoutez un dossier dans Workspace (passer la souris sur Workspace et cliquer +) nommé TouchPartFolder.

  2. Dans TouchPartFolder, ajoutez une partie.

    Assurez-vous que la partie est placée où jouer l'animation aurait du sens, comme la fin d'un niveau ou près d'un objet que les joueurs collectent.

    Exemple de Victory Part.
    Exemple de partie d'interaction
  3. Dans StarterPlayer > StarterCharacterScripts, créez un script local nommé TouchPartRegister. Puis, copiez et collez le code ci-dessous.


    -- Utilisé avec le script « PlayerAnimationFeedback » pour jouer des animations sur les touches des parties
    -- Services
    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
    -- Inclure un module d'animation de retour
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- Fonction appelée lorsqu'une partie est touchée
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- Lors de l'exécution, appeler la fonction de chargement du module d'animation
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- Lier également un dossier de pièces à l'événement « Touched » pour exécuter « onPartTouch »
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Ce script trouve toutes les parties dans le dossier TouchPartFolder et les donne des événements Touched(). Lorsqu'il est activé, l'événement exécute une fonction qui joue une animation pour un joueur.

  4. Le prochain script déclenche des animations pour un joueur. Dans ReplicatedStorage, créez un nouveauModuleScript nommé PlayerAnimationFeedback. Puis, copiez et collez le code ci-dessous.


    -- Utilisé avec le script "TouchPartRegister" pour jouer des animations pour un joueur
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- Fonction pour charger l'animation sur le personnage du joueur
    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
    -- Fonction pour jouer l'animations
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Jouer des animations

Les animations doivent être identifiées dans un script, chargées et jouées.

Configurer l'animation

Le script doit savoir quelle animation jouer. Pour utiliser une animationsexportée, trouvez son ID de ressource à travers un navigateur Web. Cet ID permettra ensuite que cette animation soit chargée dans le script.

  1. Ouvrez la section Animations de la page Créer.

  2. Localisez et cliquez sur une animationsexportée.

  3. Copiez son ID à partir de l'URL dans votre navigateur.

  4. Dans le script, PlayerAnimationFeedback, remplacez le placeholder, YOUR_ANIMATION (ligne 8), par le ID que vous avez copié.

  5. Exécutez le projet et testez que une fois qu'un joueur a touché la partie, vous voyez l'animations.

Prochains pas

Voici quelques façons de continuer à apprendre

En savoir plus sur l'animation

Jusqu'à présent, vous avez appris à créer des animations et les ajouter dans des expériences. Pour continuer à apprendre, nous recommandons de visiter la visualisation des animations.

Sur cette page, vous trouverez des liens utiles pour améliorer les animations, tels que l'utilisation de l'éditeur de courbes pour un mouvement doux, ou des conseils dans la raffinage des animations.

Animer des parties

En outre, commencez la leçon facultative Animating Parts pour apprendre à encoder des tweens, une fonctionnalité qui vous permet de redimensionner, de faire pivoter et de déplacer des parties. Un exemple du projet final est ci-dessous.