Animator
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
La clase principal responsable de la reproducción y replicación de Animations . Toda la replicación de jugar AnimationTracks se maneja a través de la instancia Animator.
También se vea Editor de animación y Usando animaciones para aprender a crear y agregar animaciones pre-construidas o personalizadas a su juego.
Resumo
Propriedades
Métodos
Calcula velocidades relativas entre partes y las aplica a Motor6D.Part1 . Estos cálculos y asignaciones de velocidad suceden en el orden proporcionado.
Devuelve la lista de reproducción actualmente en reproducción AnimationTracks .
Carga un Animation en un Animator, que devuelve un AnimationTrack.
Aumenta el AnimationTrack.TimePosition de todos los jugables que se cargan en el AnimationTracks , aplicando los descuentos al modelo asociado con el Animator . Para su uso en la barra de comandos o por plugin solo.
Eventos
Se activa cuando el Animador empieza a reproducir una Pista de Animación.
Propriedades
Métodos
ApplyJointVelocities
Dado el conjunto actual de AnimationTracks reproduciendo, y sus tiempo y velocidad de juego actuales, calcula velocidades relativas entre las partes y aplicarlas a Motor6D.Part1 (la parte que Animator considera la parte "hija"). Estos cálculos y asignaciones de velocidad relativa suceden en el orden proporcionado.
Este método no aplica velocidades para una articulación específica si ambas partes de la articulación están actualmente conectadas directamente o indirectamente por motores o soldaduras.
Este método no desactiva o elimina las articulaciones para ti. Debes desactivar o de otra manera eliminar las articulaciones rígidas de la máquina antes de llamar este método.
Los Motor6Ds dados no son requeridos para ser descendientes del DataModel . Eliminar las articulaciones del DataModel antes de llamar a este método está soportado.
Parâmetros
Devolução
GetPlayingAnimationTracks
Devuelve la lista de reproducción actualmente en reproducción AnimationTracks .
Devolução
LoadAnimation
Esta función carga el dado Animation en este Animator, que devuelve una animación jugable AnimationTrack . Cuando se llama en un 2>Class.Animator2> dentro de los modelos que el cliente tiene propiedad de red, por ejemplo, el personaje del jugador local o desde el 5>Class.BasePart
Deberías usar esta función directamente en lugar de las funciones similarmente nombradas Humanoid:LoadAnimation() y AnimationController:LoadAnimation() . Estos son proxies obsoletos de esta función que también crean un Animator si no existe uno; esto puede causar problemas de replicación si no eres cuidadoso.
Cargar una animación en el cliente o servidor
Para que AnimationTracks se replica correctamente, es importante saber cuándo deben cargarse en el cliente o en el servidor:
Si un Animator es un descendiente de un Humanoid o AnimationController en un cliente de un jugador, las animaciones comenzarán en el cliente del jugador y en otros clientes.
Si el Animator no es un descendiente de un personaje de jugador, sus animaciones deben ser cargadas y comenzadas en el servidor para replicarse.
El objeto Animator debe crearse inicialmente en el servidor y replicarse a los clientes para que la replicación de animación funcione en todos/todas. Si se crea localmente un Animator, entonces AnimationTracks cargado con ese 1>Class.Animator1> no se replicará.
Parâmetros
Devolução
StepAnimations
Aumenta el AnimationTrack.TimePosition de todos los jugables que se cargan en el AnimationTracks , aplicando los descuentos al modelo asociado con el Animator . Para su uso en la barra de comandos o por plugin solo.
El parámetro deltaTime determina el número de segundos para incrementar en el progreso de la animaciones. Por lo general, esta función se llamará en un bucle para previsualizar la duración de una animación (ver ejemplo).
Tenga en cuenta que una vez que las animaciones dejen de jugar, las articulaciones del aplicación de modeladodeben restablecerse manualmente en sus posiciones originales (ver ejemplo).
Esta función se usa para simular el rendimiento de Animations cuando el juego no está en ejecución. Esto permite que las animaciones se previsualicen sin las consecuencias de ejecutar el juego, como scripts que se ejecutan. Si la función se llama mientras el juego está en ejecución, o por Scripts o Class.LocalScript|Local
A los desarrolladores que diseñan sus propios editores de animación personalizados se recomienda utilizar esta función para previsualizar las animaciones, ya que es el método que utiliza el plugin oficial de Roblox Animation Editor.
Parâmetros
La cantidad de tiempo en segundos que se reproducen las animaciones deberá incrementarse.
Devolução
Amostras de código
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)
Eventos
AnimationPlayed
Dispara para todos los llamados AnimationTrack:Play() que se realizan en AnimationTracks creados y propiedad del Animador.