Animator
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Lớp chính chịu trách nhiệm về việc chơi lại và sao chép của Animations . Tất cả việc sao chép chơi AnimationTracks được xử lý thông qua cơ sở dữ liệu Animator.
Xem thêm Chỉnh sửa hoạt họa và Sử dụng hoạt họa để học cách tạo và thêm các hoạt họa trước đó hoặc tùy chỉnh hoạt họa cho trò chơicủa bạn.
Tóm Tắt
Thuộc Tính
Phương Pháp
Tính tốc độ tương đối giữa các bộ phận và áp dụng chúng vào Motor6D.Part1 . Các tính toán và phân bổ tốc độ này xảy ra theo thứ tự mà các tính toán và phân bổ tốc độ này xảy ra.
Trả lại danh sách đang chơi hiện tại AnimationTracks .
Đưa một Animation lên một Animator, trả lại một AnimationTrack .
Tăng AnimationTrack.TimePosition của tất cả các lần chơi AnimationTracks được tải lên trên Class.Animator , áp dụng các thiết bị cân bằng cho mô hình liên quan với Class.Animator . Để sử dụng trong thanh command hoặc bởi plugin chỉ
Sự Kiện
Lửa khi Animator bắt đầu chơi một AnimatorTrack.
Thuộc Tính
Phương Pháp
ApplyJointVelocities
Bởi vì bộ đồng hồ hiện tại của AnimationTracks đang chơi, và thời gian và tốc độ chơi của họ, tính tốc độ tương đối giữa các bộ phận và ứng dụng chúng vào Motor6D.Part1 (phần mà Animator xem xét là phầ
Phương pháp này không áp dụng tốc độ cho một trụ cột nào đó nếu cả hai phần của trụ cột đều hiện đang là một phần của cùng một máy tập hợp, ví dụ, nếu chúng vẫn được kết nối trực tiếp hoặc gián tiếp bằng các động cơ hoặc các mối hàn.
Phương pháp này không vô hiệu hóa hoặc xóa các khớp cho bạn. Bạn phải vô hiệu hóa hoặc đổi khớp cứng từ máy tập trung trước khi gọi phương pháp này.
Các Motor6Ds được đưa ra không cần thiết phải là con cháu của DataModel . Việc loại bỏ các khớp nối từ DataModel trước khi gọi phương thức này được hỗ trợ.
Tham Số
Lợi Nhuận
LoadAnimation
Hàm này tải các tham chiếu đã được Animation vào trên đây, Animator , được trả lại bằng một playable AnimationTrack . Khi gọi trên một 2>Class.Animator
Bạn nên sử dụng chức năng này trực tiếp thay vì các chức năng tương tự được đặt tên là Humanoid:LoadAnimation() và AnimationController:LoadAnimation() nhưng đây là những đối tượng trùm được dùng để tạo ra một
Tải hoạt họa trên Client hoặc Server
Để đảm bảo AnimationTracks được sao chép một cách chính xác, làm quen khi nào chúng nên được tải trên máy chủ hoặc trên máy chủ là rất quan trọng:
Nếu một Animator là con của một Humanoid hoặc AnimationController ở một người chơi's 1> Class.Player.Character1> , animations bắt đầu trên client của người chơi đó sẽ được sao chép lên máy chủ và các client k
Nếu Animator là con cháu của một nhân vật người chơi, thì hoạt họa của nó phải được tải và khởi động trên máy chủ để sao chép.
Đối tượng Animator phải được tạo lần đầu tiên trên máy chủ và sao chép cho client để hoạt động sao chép hoạt động. Nếu một Animator được tạo lên trên máy chủ, thì AnimationTracks đư
Tham Số
Lợi Nhuận
StepAnimations
Tăng AnimationTrack.TimePosition của tất cả các lần chơi AnimationTracks được tải lên trên Class.Animator , áp dụng các thiết bị cân bằng cho mô hình liên quan với Class.Animator . Để sử dụng trong thanh command hoặc bởi plugin chỉ
Tham số d DeltaTime xác định số giây tăng trưởng trên tiến trình hoạt hiệu ứng động. Thông thường, hàm này sẽ được gọi trong một vòng lặp để xem trước kích thước của một hoạt họa (xem ví dụ).
Lưu ý rằng một khi hoạt họa đã dừng chơi, các khớp của mô hình sẽ cần phải được đặt lại thủ công về vị trí ban đầu của chúng (xem ví dụ).
Hàm này được sử dụng để simulate playback of Animations when the game isn't running. This allows animations to be previewed without the consequences of running the trò chơi, such as scripts executing. If the function is called while the game is running, or by Scripts or LocalScripts , it
Các nhà phát triển thiết kế riêng của họ owned hoặc chính xây dựng hoạt họa editors đề nghị sử dụng chức năng này để xem trước hoạt họa, vì đây là phương pháp mà plugin Roblox Animation Editor chính thức sử dụng.
Tham Số
Số thời gian trong giây là tăng dần.
Lợi Nhuận
Mẫu mã
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)
Sự Kiện
AnimationPlayed
Lửa cho tất cả các AnimationTrack:Play() gọi vào AnimationTracks đã tạo và sở hữu bởi Animator.