Vous pouvez définir les marqueurs d'événement d'animation dans tout le spectre de temps et utiliser GetMarkerReachedSignal() pour détecter ces marqueurs pendant que l'animation s'exécute.
Afficher les événements
Par défaut, la piste d'événement n'est pas visible. Pour afficher la piste d'événement :
Navigate to the right of the calendrier , then click the rouage icône. A pop-up menu displays.
Sélectionnez Afficher les événements d'animation . Cela ouvre la barre Événements d'animation directement sous les contrôlesde média et de lecture.
Vous pouvez maintenant créer, détecter, et dupliquer des événements.
Créer des événements
Les marqueurs d'événements sont des indicateurs visuels de l'endroit où se déclenche un événement d'animation. Après avoir créé un marqueur d'événement, vous pouvez le déplacer dans n'importe quelle position de cadre sur le calendrier.
Pour créer un nouveau marqueur d'événement :
Navigate to the chronologie , then click-and-拖 the scrubber to the frame position where the event should survernir.
Navigate to the piste d'événements , then click the Modifier événements d'animation button. The Modifier événements d'animation dialog displays.
Dans la boîte de dialogue Animation d'édition, cliquez sur + Ajouter un événement, puis entrez un nom d'événement.
(Facultatif) Dans le champ Paramètre , entrez une chaîne de paramètres pour l'événement.
Cliquez sur le bouton Enregistrer . Dans la barre d'événements dans le calendrier, un nouveau symbole de marqueur s'affiche à la position de la fenêtre.
Détection des événements
Pour détecter les événements d'animation dans un LocalScript , connectez une fonction à la fonction GetMarkerReachedSignal() de AnimationTrack . Par exemple :
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Créer une nouvelle instance "Animation"
local walkAnim = Instance.new("Animation")
-- Définir son « AnimationId » sur l'ID de ressource d'animation correspondant
walkAnim.AnimationId = "rbxassetid://5432167890"
-- Charger l'animation sur l'animateur
local walkAnimTrack = animator:LoadAnimation(walkAnim)
-- Connectez l'événement "GetMarkerReachedSignal" à un image-cléspécifique
walkAnimTrack:GetMarkerReachedSignal("FootStep"):Connect(function(paramString)
print(paramString)
end)
Dupliquer événements
Au fur et à mesure que vous créez des événements, ils deviennent disponibles pour l'utilisation tout au long de l'animations, pas seulement à la position de la grille où vous les avez initialement créés. Par instance, vous pouvez créer un marqueur d'événement "FootStep" au point où un character's gauche le pied touche à terre, puis utiliser le même événement lorsque le character's droite le pied touche à terre.
Pour dupliquer un événement :
Navigate to the calendrier , then click an marqueur d'événement in the bar d'événement .
Appuyez sur CtrlC ( ⌘C sur Mac).
Cliquez-et-glissez le scrubber à la position de la fenêtre où vous voulez dupliquer l'événement.
Appuyez sur CtrlV ( ⌘V sur Mac).
Si l'événement original utilise un paramètre mais que l'événement dupliqué utilise un paramètre modifié, exécutez les étapes suivantes :
- Faites un clic droit sur le marqueur d'événement dupliqué. Un menu contextuel s'affiche.
- Sélectionnez Modifier l'animation Événement. Le Modifier l'animation Événement dialogue s'affiche.
- Faites vos modifications, puis cliquez sur le bouton enregistrer .