Animator
*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
Oblicza względne prędkości między częściami i stosuje je na Motor6D.Part1 . Te względne prędkości obliczeń i przypisania dzieją się w porządku zapewnionym.
Zwraca listę obecnie odtwarzanych AnimationTracks .
Ładowuje Animation na Animator, zwracając AnimationTrack.
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.
Zdarzenia
Wystąpi, gdy Animator zacznie grać w Animację.
Właściwości
Metody
ApplyJointVelocities
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
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
Zwroty
StepAnimations
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
Czas odtwarzania animacji w sekundach jest do zwiększenia.
Zwroty
Przykłady kodu
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.