Animator
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Oynatma ve kopyalama işlevinin sorumluluğunu oynayan ve kopyalayan ana sınıfı. Tüm oynama işlevinin oynanmasını Animations ile sağlanır.
Ayrıca Animasyon Editörü ve Animasyonları Kullanma bölümlerini göz đönümü ile oluşturmayı ve kullanmayı öğrenin.
Özet
Özellikler
Yöntemler
Parçalar arasındaki relatif hızları hesaplar ve onları Motor6D.Part1 uygular. Bu hız hesapları ve atayları sırayla gerçekleştirir.
Şu anda oynayan AnimationTracks listesini içerir.
Bir Animation ı yükler bir Animator , döndü bir AnimationTrack .
Oyun içindeki tüm oynayanların AnimationTrack.TimePosition artırır, bu oynayanların AnimationTracks üzerinde yüklenen Animator ile yüklenen özellikleri uygulanır. Bu, komut çubuğundaki veya pluginler tarafından sadece kullanılır.
Etkinlikler
Animator Animasyon İzini oynatmaya başladığında ateş eder.
Özellikler
Yöntemler
ApplyJointVelocities
Oynanan mevcut sete dayanarak AnimationTracks çalıyor ve mevcut zamanlarını ve oynatma hızlarını hesaplayın, parçalar arasında nispet hızlarını hesaplayın ve onları Motor6D.Part1'e (Animator tarafından "çocuk" parçası olarak düzenlenen parçaya) uygulayı
Bu yöntem, ortakların bir kısmının halihazırda aynı montaj parçasının bir parçası olduğu durumda hızları uygulamıyor, örneğin, Motors veya kaynaklar aracılığıyla doğrudan veya dolaylı olarak bağlandığı durumda hala bağlantılı olarak veya bağlantısız olarak.
Bu yöntem birleşikleri sizin için devre dışı bırakmaz veya kaldırmaz. Bu yöntemi çağırmadan önce montajdan katı birleşikleri devre dışı bırakmalısınız.
Verilen Motor6Dslar, DataModel ın soyundan olmayan çıplaklarınız yoktur. Bu yöntemi çağırmadan önce DataModel ın ortaklarını kaldırmak desteklenir.
Parametreler
Dönüşler
LoadAnimation
Bu işlev, Animation ile verilen şeyi bu Animator ın üstüne yükler, bir oyuncuAnimationTrack ı döndürür. Bu işlev, modellerin içindeki bir 1> Class.Animator1> ı
Bu işlevi Humanoid:LoadAnimation() ve AnimationController:LoadAnimation() işlevleriyle kullanmalısınız. Bu, aynı isimli Animator oluşturur ve eğer mevcut değilse 1> Class.Animator1> için yeniden oluşturma sorunlarına neden olabilir. Bu işlevlerin
Client veya Server'da Bir Animasyon Yüklemesi
Class.AnimationTrack|AnimationTracks ı doğru bir şekilde yeniden oluşturmak için, onların klişe veya sunucuda ne zaman yükleneceğini bilmek önemlidir:
Bir Animator bir Humanoid 또는 AnimationController の descendant ise, oyuncunun 2> Class.Player.Character2> 'indeki animasyonlar oyuncunun klienindeki animasyonların 5> Class.Animator5> ile kopyalanır ve diğer klienlerdeki animasyonlar kopyalanı
Class.Animator bir oyuncu karakterinin çıkışı değilse, animasyonları sunucuda yüklenip başlatılmalıdır, böylece kopyalanabilir.
Animasyon reklamı için kaynak sunucusunda oluşturulmalıdır ve tüm animasyon reklamı için kaynak istemcilere kaydedilmelidir. Animator yerel olarak oluşturulmuşsa, Animator Animasyon reklamının tümü yüklenecek değildir.
Parametreler
Dönüşler
StepAnimations
Oyun içindeki tüm oynayanların AnimationTrack.TimePosition artırır, bu oynayanların AnimationTracks üzerinde yüklenen Animator ile yüklenen özellikleri uygulanır. Bu, komut çubuğundaki veya pluginler tarafından sadece kullanılır.
deltaTime parametresi animasyonun ilerlemesinde artırılacak saniye sayısını belirler. Genellikle bu işlev bir dizi olarak çağrılır ve bir animasyonun uzunluğunu önizlemek için (örnek) bir örnekte görüntülenir.
Animasyonlar oynatmayı bıraktığında, modelin bileşenleri orijinal pozisyonlarına manuel olarak sıfırlanması gerekir (örnek).
Bu işlev, oyun çalıştığında çalma şimşek oynatmak için kullanılır. Bu, oyunun çalıştığında çalma şimşeklerinin sonuçları olmadan önce animasyonların önizlemesini sağlar, böylece oyunun çalıştığında ve
Kendi özel animasyon düzenleyicilerini tasarlayan geliştiriciler, animasyonları önizlemek için bu işlevi kullanmalıdır, çünkü bu, resmi Roblox Animasyon Düzenleyici eklentisi tarafından kullanılan yöntemdir.
Parametreler
Animasyon oynatma süresinin saniye olarak artırılması gereken süre.
Dönüşler
Kod Örnekleri
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)
Etkinlikler
AnimationPlayed
Animatörün oluşturduğu ve sahibi olduğu Animasyon İzleri için tüm AnimationTrack:Play() çağrıları için ateş eder.