Animator

Artık kullanılmayanları göster

*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 yeniden yazma için sorumlu ana sınıf Animations .Oynama AnimationTracks 'in tüm yeniden yapımı Animator durumaracılığıyla ele alınır.

oyunönceden oluşturulmuş veya özel animasyonlar eklemek için nasıl yapılacağını öğrenmek için ayrıca Animasyon Editörü ve Animasyonları Kullanma bakın.

Özet

Özellikler

Yöntemler

Özellikler

EvaluationThrottled

Salt Okunur
Çoğaltılmamış
Gezilemez
Paralel yaz

PreferLodEnabled

Paralel oku

RootMotion

Salt Okunur
Çoğaltılmamış
Gezilemez
Paralel yaz

RootMotionWeight

Salt Okunur
Çoğaltılmamış
Gezilemez
Paralel yaz

Yöntemler

ApplyJointVelocities

()

Mevcut AnimationTracks oynama setine ve mevcut oyun sürelerine ve oyun hızlarına göre, parçalar arasındaki mutlak hızları hesaplayın ve Motor6D.Part1'e (Animator "çocuk" parçası olarak görülen parça) uygulayın.Bu mutlak hız hesaplamaları ve atamaları verilen sırayla gerçekleşir.

Bu yöntem, örneğin, şu anda aynı montajın parçalarından her ikisi de Motors veya Kaynaklar tarafından doğrudan veya dolaylı olarak bağlı değilse, belirli bir eklem için hızları uygulamaz.

Bu yöntem sizin için eklemleri devre dışı bırakmaz veya kaldırmaz.Bu yöntemi çağırmadan önce montajdan sert bağlantıları devre dışı bırakmanız veya kaldırmanız gerekir.

Verdiğiniz Motor6Ds ın, DataModel 'in soyundan gelmesi gerekmiyor.Bu yöntemi çağırmadan önce DataModel eklemeleri kaldırılması desteklenir.

Parametreler

motors: Variant
Varsayılan değer: ""

Dönüşler

()

GetPlayingAnimationTracks

Şu anda çalan listeyi döndürür AnimationTracks .


Dönüşler

LoadAnimation

Bu işlev, verilen Animation 'yi bu Animator 'ye yükler ve oynanabilir bir AnimationTrack geri döndürür.Müşterinin ağ sahipliğine sahip olduğu modellerde Animator içinde çağrıldığında, örneğin yerel oyuncunun karakteri veya BasePart:SetNetworkOwner() 'dan, bu işlev ayrıca sunucu için animasyonu da yükler.

Not that the Animator must be in the Workspace before making a call to LoadAnimation() or else it will be unable to retrieve the AnimationClipProvider service and throw an error.

Bu işlevi benzer adlı Humanoid:LoadAnimation() ve AnimationController:LoadAnimation() fonksiyonları yerine doğrudan kullanmalısınız.Bunlar, bu işlevin eski protokolleri ve ayrıca bir var olmadığında bir Animator oluşturuyor; dikkatli olmazsanız, yeniden yazma sorunlarına neden olabilir.

İstemci veya Sunucuda Bir Animasyon Yükleme

AnimationTracks doğru şekilde yeniden yüklenmesi için, kliente veya sunucuda ne zaman yükleneceklerini bilmek önemlidir:

  • Eğer bir bir oyuncunun veya 'sinde bir atası ise, animasyonlar o oyuncunun istemcisine ve diğer istemcilere kopyalanacaktır.

  • Eğer bir oyuncu karakterinin soyundan gelmiyorsa, animasyonlarının sunucuda yüklenmesi ve yeniden yapılması gerekir.

Animator nesnesi, animasyon yeniden yapımının tümüyle çalışması için ilk önce sunucuda oluşturulmalı ve müşterilere yeniden yapım için aktarılmalıdır.Yerel olarak bir Animator oluşturulursa, AnimationTracks ile yüklenecek olan bu Animator kopyalanmayacaktır.

Parametreler

animation: Animation

Kullanılacak Animation .

Varsayılan değer: ""

Dönüşler

RegisterEvaluationParallelCallback

()

Parametreler

callback: function
Varsayılan değer: ""

Dönüşler

()

StepAnimations

()
Eklenti Güvenliği

Yüklenen tüm oynayan AnimationTrack.TimePosition 'nin AnimationTracks 'sini arttırır, modellere Animator ile ilişkili olan ofsetleri uygular ve Animator ile ilişkili modeli.Sadece komut çubuğunda veya eklentiler tarafından kullanım için.

deltaTime parametri, animasyonun ilerlemesine artırılacak saniye sayısını belirler.Tipik olarak, bu işlev bir animasyonun uzunluğunu önizlemek için bir döngüde çağrılacaktır (örneğe bakın).

Animasyonlar bir kez durdurulduktan sonra, modelin kenetlerinin orijinal konumlarına manuel olarak sıfırlanması gerekecektir (örneğe bakın).

Bu işlev, oyun çalışmıyorken Animations oynatma simülasyonu için kullanılır.Bu, animasyonların oyunun çalışmasının sonuçları olmadan önizlenmesine izin verir, örneğin kodların yürütülmesi.Eğer işlev oyun çalışırken veya Scripts veya LocalScripts tarafından çağrılırsa, bir hata döndürür.

Kendi özel animasyon editörlerini tasarlayan geliştiricilerin, resimleri önizlemek için bu işlevi kullanmaları önerilir, çünkü resimleri resmi Roblox Animasyon Editörü eklentisi kullanan yöntemdir.

Parametreler

deltaTime: number

Saniyeler içinde animasyon oynatma miktarı artırılacak.

Varsayılan değer: ""

Dönüşler

()

Kod Örnekleri

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)

Etkinlikler

AnimationPlayed

Animatör tarafından oluşturulmuş ve sahiplenilmiş tüm AnimationTrack:Play() animasyon izleri için ateş eder.

Parametreler

animationTrack: AnimationTrack