Animator
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
La classe principale responsable de la lecture et de la réplication de Animations . Tout le répliènement de la lecture de AnimationTracks est géré à travers l'instance Animator.
Voir également Éditeur d'animation et Utiliser les animations pour apprendre à créer et ajouter des animations pré-construites ou personnalisées à votre jeu.
Résumé
Propriétés
Méthodes
Calcul de la vitesse relative entre les parties et leur application à Motor6D.Part1 . Ces calculs et ces affectations de vitesse relative se déroulent dans l'ordre fourni.
Renvoie la liste des pistes actuellement jouées AnimationTracks .
Charge un Animation sur un Animator, en retournant un AnimationTrack.
Augmente le AnimationTrack.TimePosition de tous les jeux AnimationTracks chargés sur le Animator, en appliquant les décalages à l'échelle du modèle associé au 1> Class.Animator1>. Pour l'utiliser dans la barre de commandes ou par le plugin uniquement.
Évènements
Démarre quand l'animateur commence à jouer une piste d'animation.
Propriétés
Méthodes
ApplyJointVelocities
En fonction de la table actuelle de AnimationTracks jouant, et de leurs temps et vitesses de jeu actuels, calculez les vitesses de rotation entre les parties et appliquez-les à Motor6D.Part1 (la partie qui Animator prend en compte la partie « enfant »). Ces calculs de vitesse relative et d'attributs se produisent dans l'ordre fourni.
Cette méthode ne s'applique pas aux vitesses pour un joint donné si les parties du articulationsont actuellement partie de la même assemblée, par exemple, s'ils sont toujours connectés directement ou indirectement par des moteurs ou des soudures.
Cette méthode ne désactive pas ou n'enlève pas les jointures pour vous. Vous devez désactiver ou autrement enlever les jointures rigides de l'assemblage avant d'appeler cette méthode.
Les Motor6Ds donnés ne sont pas requis pour être les descendants du DataModel . Enlèvement des joints du DataModel avant d'appeler cette méthode est pris en charge.
Paramètres
Retours
LoadAnimation
Cette fonction charge le Animation donné sur ce Animator, en retournant une animation jouable AnimationTrack. Lorsqu'elle est appelée sur un 2>Class.Animator2> dans les modèles que le client a la propriété réseau, par exemple le personnage du joueur local ou à partir de 5>Class.BasePart:SetNetworkOwner
Vous devriez utiliser cette fonction directement au lieu des fonctions similairement nommées Humanoid:LoadAnimation() et AnimationController:LoadAnimation(). Ces sont des proxies dépréciés de cette fonction qui créent également un Animator si un tel n'existe pas ; cela peut causer des problèmes de réplication si vous n'êtes pas prudent.
Charger une animation sur le client ou le serveur
Pour que AnimationTracks puisse être répliqué correctement, il est important de savoir quand ils devraient être chargés sur le client ou sur le serveur :
Si un Animator est un descendant d'un Humanoid ou AnimationController dans un client du joueur, les animations commencent sur le client du joueur et se répliquent sur le serveur et sur d'autres clients.
Si le Animator n'est pas un descendant d'un personnage de joueur, ses animations doivent être chargées et commencées sur le serveur pour être répliquées.
L'objet Animator doit être créé initialement sur le serveur et répliqué aux clients pour que la réplication d'animation fonctionne du tout. Si un Animator est créé localement, alors AnimationTracks chargé avec ce 2>Class.Animator2> ne se répliquera pas.
Paramètres
Retours
StepAnimations
Augmente le AnimationTrack.TimePosition de tous les jeux AnimationTracks chargés sur le Animator, en appliquant les décalages à l'échelle du modèle associé au 1> Class.Animator1>. Pour l'utiliser dans la barre de commandes ou par le plugin uniquement.
Le paramètre DeltaTime détermine le nombre de secondes à ajouter sur la progression de l'animations. Habituellement, cette fonction est appelée en boucle pour prévisualiser la longueur d'une animation (voir exemple).
Remarquez que lorsque les animations ont cessé de jouer, les jointures du modèlisationdevront être manuellement réinitialisées à leur position d'origine (voir l'exemple).
Cette fonction est utilisée pour simuler le playback de Animations lorsque le jeu n'est pas en cours d'exécution. Cela permet aux animations d'être prévisualisées sans les conséquences de l'exécution du jeu, telles que les scripts s'exécutant. Si la fonction est appelée pendant que le jeu s'exécute, ou par Scripts ou par <
Les développeurs qui conçoivent leurs propres éditeurs d'animation personnalisée sont conseillés d'utiliser cette fonction pour prévisualiser les animations, car c'est la méthode que l'éditeur d'animation officiel Roblox utilise.
Paramètres
La durée de génération de l'animation en secondes est à augmenter.
Retours
Échantillons de code
local RunService = game:GetService("RunService")
local function studioPreviewAnimation(model, animation)
-- find the AnimationController and Animator
local animationController = model:FindFirstChildOfClass("Humanoid")
or model:FindFirstChildOfClass("AnimationController")
local animator = animationController and animationController:FindFirstChildOfClass("Animator")
if not animationController or not animator then
return
end
-- load the Animation to create an AnimationTrack
local track = animationController:LoadAnimation(animation)
track:Play()
-- preview the animation
local startTime = tick()
while (tick() - startTime) < track.Length do
local step = RunService.Heartbeat:wait()
animator:StepAnimations(step)
end
-- stop the animation
track:Stop(0)
animator:StepAnimations(0)
-- reset the joints
for _, descendant in pairs(model:GetDescendants()) do
if descendant:IsA("Motor6D") then
local joint = descendant
joint.CurrentAngle = 0
joint.Transform = CFrame.new()
end
end
end
local character = script.Parent
local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://507765644"
studioPreviewAnimation(character, animation)
Évènements
AnimationPlayed
Démarre tous les AnimationTrack:Play() appels sur AnimationTracks créés et possédés par l'animateur.