Animator

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Główna klasa odpowiedzialna za odtwarzanie i replikację Animations .Wszystkie replikacje odtwarzania AnimationTracks są obsługiwane za pośrednictwem instancjaAnimator.

Zobacz także Edytor animacji i Używanie animacji, aby dowiedzieć się, jak tworzyć i dodawać gotowe lub niestandardowe animacje do gra.

Podsumowanie

Właściwości

Metody

Zdarzenia

Właściwości

EvaluationThrottled

Tylko do odczytu
Bez replikacji
Brak możliwości przeglądania
Zapis równoległy

PreferLodEnabled

Odczyt równoległy

RootMotion

Tylko do odczytu
Bez replikacji
Brak możliwości przeglądania
Zapis równoległy

RootMotionWeight

Tylko do odczytu
Bez replikacji
Brak możliwości przeglądania
Zapis równoległy

Metody

ApplyJointVelocities

()

Biorąc pod uwagę obecny zestaw AnimationTracks gry i ich obecne czasy i prędkości gry, oblicz względne prędkości między częściami i zastosuj je do Motor6D.Part1 (części, które Animator uważają za część "dziecka").Te względne obliczenia prędkości i przypisywania zdarzają się w kolejności podanej.

Ta metoda nie stosuje prędkości dla danego połączenia, jeśli obie części połączenia są obecnie częścią tej samej zbiórki, na przykład, jeśli są nadal połączone bezpośrednio lub pośrednio przez Motory lub spawanie.

Ta metoda nie wyłącza lub nie usuwa stawów dla Ciebie.Musisz wyłączyć lub w inny sposób usunąć sztywne stawy z montażu przed wezwaniem tej metody.

Podane Motor6Ds nie muszą być potomkami DataModel.Usuwanie stawów z DataModel przed wezwaniem tej metody jest wspierane.

Parametry

motors: Variant
Wartość domyślna: ""

Zwroty

()

GetPlayingAnimationTracks

Zwraca listę obecnie odtwarzanych AnimationTracks .


Zwroty

LoadAnimation

Funkcja ta ładowuje podany Animation na tej Animator, zwracając odtwarzalny AnimationTrack.Gdy wezwana jest w modelach, które klient ma własność sieciową, na przykład charakter lokalnego gracza lub z , ta funkcja również ładowuje animację dla serwera.

Zauważ, że Animator musi być w Workspace przed złożeniem wezwania do LoadAnimation() lub inaczej nie będzie w stanie odzyskać usługi AnimationClipProvider i wywoła błąd.

Powinieneś używać tej funkcji bezpośrednio zamiast podobnie nazywanych funkcji Humanoid:LoadAnimation() i AnimationController:LoadAnimation().Są to przestarzałe proxy tej funkcji, które również tworzą Animator, jeśli nie istnieją; może to powodować problemy z replikacją, jeśli nie będziesz ostrożny.

Ładowanie animacji na klientzie lub serwerze

Aby AnimationTracks mógł się prawidłowo powielić, ważne jest, aby wiedzieć, kiedy należy go wczytać na klientzie lub na serwerze:

  • Jeśli Animator jest potomkiem Humanoid lub AnimationController w klientzie gracza Player.Character, animacje zostaną replikowane na serwer i inne klienty.

  • Jeśli Animator jest nie potomkiem postaci gracza, jego animacje muszą być załadowane i uruchomione na serwerze, aby się powtórzyły.

Przedmiot Animator musi zostać początkowo utworzony na serwerze i replikowany do klientów, aby replikacja animacji działała w wszystko.Jeśli Animator zostanie utworzone lokalnie, to AnimationTracks załadowane z tym Animator nie będzie się powielać.

Parametry

animation: Animation

The Animation do użycia.

Wartość domyślna: ""

Zwroty

RegisterEvaluationParallelCallback

()

Parametry

callback: function
Wartość domyślna: ""

Zwroty

()

StepAnimations

()
Zabezpieczenia dodatku plug-in

Zwiększa AnimationTrack.TimePosition wszystkich odtwarzanych AnimationTracks ładowanych na Animator, stosując odległości do modelu powiązanego z Animator.Do użycia na pasku poleceń lub przez wtyczki tylko.

Parametr deltaTime określa liczbę sekund do zwiększenia postępu animacja.Zazwyczaj funkcja ta zostanie wywołana w pętlu, aby przedstawić długość animacji (patrz przykład).

Zauważ, że po zatrzymaniu odtwarzania animacji stawy modelu będą musiały zostać ręcznie zresetowane do ich pierwotnych pozycji (patrz przykład).

Funkcja ta jest używana do symulacji odtwarzania Animations, gdy gra nie jest uruchomiona.Umożliwia to zapoznanie się z animacjami bez konsekwencji uruchomienia gry, takich jak wykonywanie skryptów.Jeśli funkcja jest wywoływana, gdy gra się uruchamia, lub przez Scripts lub LocalScripts, zwróci błąd.

Rozwijającym własne niestandardowe edytory animacji poleca się użycie tej funkcji do przeglądania animacji, ponieważ jest to metoda, jaką używa oficjalny edytor animacji Roblox.

Parametry

deltaTime: number

Ilość czasu w sekundach odtwarzania animacji ma być zwiększona.

Wartość domyślna: ""

Zwroty

()

Przykłady kodu

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)

Zdarzenia

AnimationPlayed

Ogień dla wszystkich wezwań AnimationTrack:Play() na Animacjach stworzonych i posiadanych przez Animatora.

Parametry

animationTrack: AnimationTrack