Animator
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Kelas utama bertanggung jawab atas pemutar dan replikasi Animations . Semua replikasi bermain AnimationTracks diangani melalui kejadianAnimator.
Lihat juga Editor Animasi dan Menggunakan Animasi untuk belajar cara membuat dan menambahkan animasi prasejah atau khusus ke game Anda.
Rangkuman
Properti
Metode
Menghitung kecepatan relatif antara bagian dan menerapkannya ke Motor6D.Part1 . Calculating dan menetapkan kecepatan relatif ini terjadi dalam urutan yang diberikan.
Mengembalikan daftar bermain saat ini AnimationTracks .
Memuat Animation ke Animator, mengembalikan AnimationTrack.
Meningkatkan AnimationTrack.TimePosition dari semua bermain AnimationTracks yang dimuat ke Animator , menerapkanOffset ke model yang terkait dengan 1> Class.Animator1> . Untuk digunakan di bilah perintah atau oleh plugin hanya.
Acara
Dibakar saat Animator mulai bermain Animasi Track.
Properti
Metode
ApplyJointVelocities
Mengingat set saat ini dari AnimationTracks bermain, dan waktu dan kecepatan bermain mereka saat ini, hitung kecepatan relatif di antara bagian dan tetapkan mereka di Motor6D.Part1 (bagian yang dianggap sebagai "anak" bagian). Hitungan kecepatan relatif ini dan pengaturan diterapkan pada Motor6D.Part1 (bagian yang dianggap sebagai "anak" bag
Metode ini tidak menerapkan kecepatan untuk setiap bagian bergabung yang diberikan jika kedua bagian bergabungnya saat ini merupakan bagian dari penggabungan yang sama, misalnya, jika mereka masih terhubung secara langsung atau tidak langsung oleh Motor atau Welding.
Metode ini tidak menonaktifkan atau menghapus joint untuk Anda. Anda harus menonaktifkan atau menghapus joint keras dari Assembly sebelum menyebut metode ini.
Motor6Ds yang diberikan tidak diperlukan untuk menjadi cendawan dari DataModel . Menghapus rak-rak dari DataModel sebelum memanggil metode ini didukung.
Parameter
Memberikan nilai
LoadAnimation
Fungsi ini memuat Animation yang diberikan ke server ini Animator, yang kemudian mengembalikan animasi yang dapat dimainkan AnimationTrack. Saat panggilan di dalam 2>Class.Animator2> dalam model yang klien miliki, misalny
Anda harus menggunakan fungsi ini secara langsung alih-alih fungsi Humanoid:LoadAnimation() dan AnimationController:LoadAnimation() yang mirip. Ini adalah proxies deprimer dari fungsi ini yang juga menciptakan Animator jika tidak ada; ini dapat menyebabkan masalah replikasi jika Anda tid
Memuat Animasi di Klien atau Server
Untuk memastikan AnimationTracks dapat di replikasi dengan benar, penting untuk mengetahui kapan mereka harus dimuat di klien atau di server:
Jika Animator adalah cucu dari Humanoid atau AnimationController di klien pemain, animasi dimulai di klien pemain tersebut akan dikirim ke server dan klien lainnya.
Jika Animator bukan bukan cucu dari karakter pemain, animasi animasinya harus di-load dan dimulai di server untuk diklon.
Objek Animator harus dibuat di server dan diklon ke klien untuk klon animasi untuk berfungsi sama semua. Jika Animator dibuat secara lokal, maka AnimationTracks yang dimuat dengan 1> Class.Animator1> akan tidak mengklon.
Parameter
Memberikan nilai
StepAnimations
Meningkatkan AnimationTrack.TimePosition dari semua bermain AnimationTracks yang dimuat ke Animator , menerapkanOffset ke model yang terkait dengan 1> Class.Animator1> . Untuk digunakan di bilah perintah atau oleh plugin hanya.
parameter waktu Delta menentukan jumlah detik untuk meningkatkan pada kemajuan animasi. Biasanya fungsi ini akan dipanggil dalam satu putaran untuk menyimpan panjang animasi (lihat contoh).
Catat bahwa setelah animasi berhenti bermain, join model akan perlu diatur ulang secara manual ke posisi aslinya (lihat contoh).
Fungsi ini digunakan untuk meniru playback dari Animations saat game tidak berjalan. Ini memungkinkan animasi untuk dipratinjau tanpa konsekuensi dari menjalankan game, seperti skrip yang dijalankan. Jika fungsi ini dianggap saat game berjalan, atau oleh Scripts
Pengembang yang mendesain animasi khusus mereka sendiri diperbaiki untuk menggunakan fungsi ini untuk meninjau animasi, karena ini adalah metode yang digunakan oleh plugin Editor Animasi Roblox resmi.
Parameter
Jumlah waktu dalam detik pemutaran animasi akan meningkat.
Memberikan nilai
Contoh Kode
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)
Acara
AnimationPlayed
Menghasilkan semua AnimationTrack:Play() panggilan di AnimotionTracks yang dibuat dan dimiliki Animator.