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.
Pour organiser toutes les parties qui joueront l'animations, ajoutez un dossier dans Workspace (passer la souris sur Workspace et cliquer +) nommé TouchPartFolder.
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.
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-- Serviceslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal character = player.Character or player.CharacterAdded:Wait()local humanoid = character:WaitForChild("Humanoid")local canTouch = false-- Inclure un module d'animation de retourlocal PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))-- Fonction appelée lorsqu'une partie est touchéelocal function onPartTouch(otherPart)if humanoid and canTouch == false thencanTouch = truePlayerAnimationFeedback:PlayAnimation()canTouch = falseendend-- Lors de l'exécution, appeler la fonction de chargement du module d'animationPlayerAnimationFeedback: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 dotouchPart.Touched:Connect(onPartTouch)endCe 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.
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 joueurlocal PlayerAnimationFeedback = {}local feedbackAnimationTracklocal ANIMATION_FADE = 0.3local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"-- Fonction pour charger l'animation sur le personnage du joueurfunction PlayerAnimationFeedback:LoadAnimation(humanoid)local feedbackAnimation = Instance.new("Animation")feedbackAnimation.AnimationId = ANIMATION_IDfeedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)feedbackAnimationTrack.Priority = Enum.AnimationPriority.ActionfeedbackAnimationTrack.Looped = falseend-- Fonction pour jouer l'animationsfunction PlayerAnimationFeedback:PlayAnimation()feedbackAnimationTrack:Play(ANIMATION_FADE)task.wait(feedbackAnimationTrack.Length)endreturn 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.
Ouvrez la section Animations de la page Créer.
Localisez et cliquez sur une animationsexportée.
Copiez son ID à partir de l'URL dans votre navigateur.
Dans le script, PlayerAnimationFeedback, remplacez le placeholder, YOUR_ANIMATION (ligne 8), par le ID que vous avez copié.
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.