Animator

Hiển Thị Bản Đã Lỗi Thời

*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 có trách nhiệm phát lại và sao chép Animations .Tất cả sao chép chơi AnimationTracks được xử lý thông qua Animator ví ví dụ / trường hợp.

Xem thêm Trình chỉnh sửa hoạt họaSử dụng hoạt họa để học cách tạo và thêm hoạt họa được xây dựng trước hoặc tùy chỉnh vào trò chơi của bạn.

Tóm Tắt

Thuộc Tính

Phương Pháp

Sự Kiện

Thuộc Tính

EvaluationThrottled

Chỉ Đọc
Không Sao Chép
Không Thể Duyệt
Ghi Song Song

PreferLodEnabled

Đọc Song Song

RootMotion

Chỉ Đọc
Không Sao Chép
Không Thể Duyệt
Ghi Song Song

RootMotionWeight

Chỉ Đọc
Không Sao Chép
Không Thể Duyệt
Ghi Song Song

Phương Pháp

ApplyJointVelocities

()

Vì set hiện tại của AnimationTracks đang chơi, và thời gian và tốc độ chơi hiện tại của chúng, hãy tính tốc độ tương đối giữa các bộ phận và áp dụng chúng cho Motor6D.Part1 (bộ phận mà Animator xem là bộ phận "con").Các tính toán và phân bổ tốc độ tương đối xảy ra theo thứ tự được cung cấp.

Phương pháp này không áp dụng tốc độ cho một khớp nối nếu cả hai phần của khớp nối hiện đang là một phần của cùng một lắp rá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ởi Động cơ hoặc 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 loại bỏ các khớp cứng khỏi lắp ráp trước khi gọi phương pháp này.

Các tham số Motor6Ds được cung cấp không cần phải là con cháu của DataModel .Loại bỏ các khớp từ DataModel trước khi gọi phương pháp này được hỗ trợ.

Tham Số

motors: Variant
Giá Trị Mặc Định: ""

Lợi Nhuận

()

GetPlayingAnimationTracks

Trả về danh sách đang chơi AnimationTracks .


Lợi Nhuận

LoadAnimation

Chức năng này tải các đối tượng được cho Animation vào đây Animator, trả về một đối tượng có thể chơi AnimationTrack .Khi được gọi trong một Animator trong các mô hình mà khách hàng có quyền sở hữu mạng, ví dụ như nhân vật của người chơi địa phương hoặc từ BasePart:SetNetworkOwner() , chức năng này cũng tải lại hoạt hình cho máy chủ nữa.

Lưu ý rằng Animator phải ở trong Workspace trước khi thực hiện cuộc gọi đến LoadAnimation() hoặc nó sẽ không thể lấy lại dịch vụ AnimationClipProvider và phát ra lỗi.

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 có tên tương tự Humanoid:LoadAnimation()AnimationController:LoadAnimation() .Đây là các đại lý lỗi thời của chức năng này cũng tạo ra một Animator nếu không tồn tại; điều này có thể gây ra vấn đề sao chép nếu bạn không cẩn thận.

Tải một hoạt họa trên máy khách hoặc máy chủ

Để AnimationTracks sao lưu chính xác, thì quan trọng là phải biết khi nào chúng nên được tải vào máy khách hoặc vào máy chủ:

  • Nếu một Animator là con cháu của một Humanoid hoặc AnimationController trong máy chủ của người chơi Player.Character, các hoạt hình bắt đầu trên máy chủ và các máy chủ khác sẽ được sao chép lại.

  • Nếu không phải là con cháu của một nhân vật người chơi, các hoạt hình của nó phải được tải và bắt đầu trên máy chủ để sao chép.

Vật thể Animator phải được tạo ban đầu trên máy chủ và sao chép cho khách hàng để sao chép hoạt họa hoạt động tại tất cả.Nếu một được tạo địa phương, thì được tải với đó sẽ không bị sao chép.

Tham Số

animation: Animation

Các Animation được sử dụng.

Giá Trị Mặc Định: ""

Lợi Nhuận

RegisterEvaluationParallelCallback

()

Tham Số

callback: function
Giá Trị Mặc Định: ""

Lợi Nhuận

()

StepAnimations

()
Bảo Mật Plugin

Tăng AnimationTrack.TimePosition của tất cả các chơi AnimationTracks được tải lên Animator , áp dụng các khấu trừ cho mô hình liên quan đến Animator .Chỉ để sử dụng trong thanh lệnh hoặc bởi plugin.

Tham số deltaTime xác định số giây để tăng trên tiến trình hoạt hiệu ứng động.Thông thường chức năng này sẽ được gọi trong một vòng lặp để xem trước độ dài của một hoạt hình (xem ví dụ).

Lưu ý rằng một khi hoạt hình đã ngừ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 (xem ví dụ).

Chức năng này được sử dụng để mô phỏng chơi lại của Animations khi trò chơi không đang chạy.Điều này cho phép các hoạt hình được xem trước mà không có hậu quả của việc chạy trò chơi, chẳng hạn như thực thi các tập lệnh.Nếu chức năng được gọi trong khi trò chơi đang chạy, hoặc bởi Scripts hoặc LocalScripts, nó sẽ trả về một lỗi.

Các nhà phát triển thiết kế trình chỉnh sửa hoạt hình tùy chỉnh riêng của họ được khuyên sử dụng chức năng này để xem trước hoạt hình, vì đây là phương pháp mà plugin Trình chỉnh sửa hoạt hình chính thức của Roblox sử dụng.

Tham Số

deltaTime: number

Số lượng thời gian trong phát lại hoạt hình trong giây phải được tăng lên.

Giá Trị Mặc Định: ""

Lợi Nhuận

()

Mẫu mã

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)

Sự Kiện

AnimationPlayed

Bắt lửa cho tất cả các cuộc gọi AnimationTrack:Play() trên AnimationTracks được tạo và sở hữu bởi Animator.

Tham Số

animationTrack: AnimationTrack