Animator

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

A classe principal responsável pela reprodução e replicação de Animations .Toda replicação de reprodução AnimationTracks é tratada através da instância Animator.

Veja também Editor de Animações e Usando Animações para aprender a criar e adicionar animações pré-construídas ou personalizadas ao seu jogo.

Resumo

Propriedades

Métodos

Eventos

Propriedades

EvaluationThrottled

Somente leitura
Não replicado
Não navegável
Escrever Parallel

PreferLodEnabled

Ler Parallel

RootMotion

Somente leitura
Não replicado
Não navegável
Escrever Parallel

RootMotionWeight

Somente leitura
Não replicado
Não navegável
Escrever Parallel

Métodos

ApplyJointVelocities

()

Dado o conjunto atual de AnimationTracks jogando, e seus tempos e velocidades de jogo atuais, calcule velocidades relativas entre as partes e aplique-as ao Motor6D.Part1 (a parte que Animator considera a parte "filha").Essas cálculos e designações de velocidade relativas acontecem na ordem fornecida.

Este método não aplica velocidades para uma junta dada se ambas as partes da articulaçãoestiverem atualmente parte da mesma montagem, por exemplo, se ainda estiverem conectadas direta ou indiretamente por Motores ou Soldas.

Este método não desabilita ou remove as articulações para você.Você deve desativar ou remover de outra forma os joints rígidos da montagem antes de chamar este método.

Os dados fornecidos Motor6Ds não são necessários para serem descendentes do DataModel.Remover as articulações da DataModel antes de chamar esse método é suportado.

Parâmetros

motors: Variant
Valor Padrão: ""

Devolução

()

GetPlayingAnimationTracks

Retorna a lista de atualmente tocando AnimationTracks .


Devolução

LoadAnimation

Essa função carrega o dado Animation nesta Animator, retornando um tocável AnimationTrack.Quando chamada em um Animator dentro de modelos que o cliente tem propriedade de rede, por exemplo, o personagem do jogador local ou de BasePart:SetNetworkOwner() , esta função também carrega a animação para o servidor.

Observe que o Animator deve estar no Workspace antes de fazer um chamada para LoadAnimation() ou então não será possível recuperar o serviço AnimationClipProvider e lançar um erro.

Você deve usar essa função diretamente, em vez das funções semelhantes chamadas Humanoid:LoadAnimation() e AnimationController:LoadAnimation().Estes são proxies obsoletos desta função que também criam um Animator se não existir; isso pode causar problemas de replicação se você não for cuidadoso.

Carregando uma Animação no Cliente ou Servidor

Para que AnimationTracks seja replicado corretamente, é importante saber quando deve ser carregado no cliente ou no servidor:

  • Se um Animator for um descendente de um Humanoid ou AnimationController em um player's Player.Character , as animações iniciadas no cliente do jogador serão replicadas para o servidor e outros clientes.

  • Se o não for um descendente de um personagem de jogador, suas animações devem ser carregadas e iniciadas no servidor para se replicar.

O objeto Animator deve ser inicialmente criado no servidor e replicado aos clientes para que a replicação de animação funcione.Se um Animator for criado localmente, então AnimationTracks carregado com esse Animator não se reproduzirá.

Parâmetros

animation: Animation

O Animation a ser usado.

Valor Padrão: ""

Devolução

RegisterEvaluationParallelCallback

()

Parâmetros

callback: function
Valor Padrão: ""

Devolução

()

StepAnimations

()
Segurança do plugin

Aumenta o AnimationTrack.TimePosition de todo o jogo AnimationTracks que é carregado no Animator, aplicando os deslocamentos ao modelo associado ao Animator.Para uso na barra de comando ou por plugins apenas.

O parâmetro deltaTime determina o número de segundos para aumentar no progresso da animações.Normalmente, essa função será chamada em um loop para pré-visualizar o comprimento de uma animação (veja exemplo).

Observe que, uma vez que as animações pararam de tocar, as articulações do modelo precisarão ser redefinidas manualmente em suas posições originais (veja exemplo).

Essa função é usada para simular a reprodução de Animations quando o jogo não está em execução.Isso permite que as animações sejam visualizadas sem as consequências de executar o jogo, como a execução de scripts.Se a função for chamada enquanto o jogo está em execução, ou por Scripts ou LocalScripts, ela retornará um erro.

Desenvolvedores que projetam seus próprios editores de animação personalizados são aconselhados a usar essa função para pré-visualizar animações, pois é o método que o plugin oficial do Editor de Animação Roblox usa.

Parâmetros

deltaTime: number

A quantidade de tempo em segundos de reprodução de animação deve ser incrementada.

Valor Padrão: ""

Devolução

()

Amostras de código

This code sample includes a function that can be used to preview an Animation on a Model in Roblox Studio, without needing to run the game. It utilizes the Animator.StepAnimations function, which is the same method the official Roblox Animation Editor uses.

Preview Animation in Studio

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

Incêndios para todas as chamadas AnimationTrack:Play() em Animações criadas e possuídas pelo Animador.

Parâmetros

animationTrack: AnimationTrack