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ą zarządzane poprzez instancję Animator.

Zobacz również Edytor Animacji i Używanie Animacji, aby nauczyć się, jak tworzyć i dodawać wcześniej zbudowane lub niestandardowe animacje do swojego gra.

Podsumowanie

Właściwości

Metody

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

void

Biorąc pod uwagę obecny zestaw AnimationTracks grających i ich obecne czasy i prędkości gry, oblicz wskaźniki prędkości względnej między częściami i zastosuj je w Motor6D.Part1 (części, która rozważa część "dziecka"). Te obliczenia i zastosowania wskaźników prędkości względnej i zastosowania następują w porządku.

Ten metodowy nie stosuje prędkości dla danej wiązki, jeśli obie części wiązki są obecnie częścią tej samej zgody, na przykład, jeśli są nadal połączone bezpośrednio lub pośrednio przez Motory lub spawy.

Ten metod nie wyłącza lub nie usuwa łączników dla Ciebie. Musisz wyłączyć lub w inny sposób usunąć łączniki z zestawu przed wezwaniem tego metodu.

Dane Motor6Ds nie są wymagane, aby być potomstwem DataModel. Usuwanie łączników z DataModel przed wezwaniem tej metody jest wspierane.

Parametry

motors: Variant

Zwroty

void

GetPlayingAnimationTracks

Zwraca listę obecnie odtwarzanych AnimationTracks .


Zwroty

LoadAnimation

Funkcja ta ładowuje dany Animation na tym Animator, zwracając łączalny AnimationTrack. Kiedy jest wezwany na 2>Class.Animator2> w modelu, do którego posiadania sieci klienckiej, na przykład postać lokalnego gracza lub z <

Należy używać tej funkcji bezpośrednio zamiast funkcji Humanoid:LoadAnimation() i AnimationController:LoadAnimation(). Te są przestarzałe proxies tej funkcji, które również tworzą Animator jeśli jedna osoba nie istnieje; to może powodować problemy z replikacją, jeśli nie będziesz ostrożny.

Ładowanie animacji na klienta lub serwera

Aby upewnić się, że AnimationTracks zostaną właściwie zeskanowane i załadowane na klient lub na serwerze, należy wiedzieć, kiedy powinny być załadowane:

  • Jeśli Animator jest potomstwem Humanoid lub AnimationController w graczna kliente 2>Class.Player.Character2>, animacje zaczynają się na kliente 5>Class.Player.Character5> i inne klienty.

  • Jeśli Animator nie jest potomstwem postaci gracza, to jego animacje muszą być załadowane i uruchomione na serwerze, aby zostać sklonowane.

Przedmiot Animator musi zostać najpierw stworzony na serwerze i sklonowany do klientów, aby animacja replikacji działała w wszystko. Jeśli przedmiot Animator jest tworzony lokalnie, to przedmiot AnimationTracks z tym przedmiotem 2>Class.Animator2> nie będzie się replikował.

Parametry

animation: Animation

The Animation to be used.


Zwroty

RegisterEvaluationParallelCallback

void

Parametry

callback: function

Zwroty

void

StepAnimations

void
Zabezpieczenia dodatku plug-in

Zwiększa AnimationTrack.TimePosition wszystkich grających AnimationTracks ładowanych na Animator, aplikując odchylenia do modelu związanego z 1> Class.Animator1> . Dla użycia w barze komend lub przez pluginów tylko.

Parametr deltaTime określa liczbę sekund do zwiększenia w animacja. Zazwyczaj funkcja ta będzie nazywana w pętli, aby zapisać długość animacji (zobacz przykład).

Uwaga, że gdy animacje przestają być odtwarzane, połączenia modelu będą musiały być ręcznie ustawione na ich pierwotne pozycje (patrz przykład).

Funkcja ta jest używana do symulacji odtwarzania Animations , gdy gra nie jest uruchomiona. To pozwala na zaplanowanie animacji bez konsekwencji płynących z uruchomienia gry, takich jak wykonanie skryptów. Jeśli funkcja jest wzywana podczas uruchomienia gry lub przez Scripts lub <

Rozwijać należy darmowe animacje w grze? Zalecamy używać tej funkcji do podglądania animacji, ponieważ jest to metoda używana przez oficjalnego wtyczki Roblox Animation Editor.

Parametry

deltaTime: number

Czas odtwarzania animacji w sekundach jest do zwiększenia.


Zwroty

void

Przykłady kodu

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

Wyst?pi dla wszystkich AnimationTrack:Play() wezwie? do AnimacjiTracks stworzonych i posiadanych przez Animatora.

Parametry

animationTrack: AnimationTrack