Khi bạn đã tạo xong một hoạt hình, bạn cần sử dụng các kịch bản để bao gồm chúng trong trải nghiệm của bạn.Bạn có thể hoặc chơi hoạt họa thủ công từ các tập lệnh hoặc thay thế hoạt họa mặc định cho nhân vật người chơi.
Chơi hoạt hình từ các kịch bản
Trong một số trường hợp, bạn sẽ cần phải chơi một hoạt hình trực tiếp từ bên trong một kịch bản, chẳng hạn như khi người dùng nhấn một phím nhất định hoặc nhặt một vật phẩm đặc biệt.
Người khổng lồ
Để chơi một hoạt hình trên một cấu hình có chứa một đối tượng Humanoid như các nhân vật có thể chơi, hãy làm theo mẫu cơ bản này:
- Tạo một instance mới Animation với đúng AnimationId .
- Tải hoạt hình thông qua Animator:LoadAnimation() để tạo một AnimationTrack .
- Chơi bài hát với AnimationTrack:Play() .
Ví dụ, dưới đây LocalScript , khi được đặt vào StarterPlayerScripts , tải một hoạt hình "đuổi" lên nhân vật của người chơi và chơi nó.Tập lệnh cũng sử dụng phương pháp để phát hiện khi một sự kiện hoạt hình cụ thể xảy ra.
LocalScript - Chơi hoạt hình tùy chỉnh trên nhân vật người chơi
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Hãy đảm bảo rằng con người của nhân vật có chứa một đối tượng "Animator"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Tạo một ví dụ "Animation" mới và gán một ID tài sản hoạt hình
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Tải hoạt hình lên animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Chơi bản theo dõi hoạt hình
kickAnimationTrack:Play()
-- Nếu một sự kiện được đặt tên đã được định nghĩa cho hoạt hiệu ứng động, kết nối nó với "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
Không phải humanoids
Để chơi hoạt hình trên các cụm máy không có không chứa một Humanoid , bạn phải tạo một AnimationController với một đứa con Animator .Ví dụ, dưới đây Script (được cho là là con trực tiếp của rig) tải một hoạt hình "đuổi" và chơi nó.
Tập lệnh - Chơi hoạt hình tùy chỉnh trên nhân vật Rig
local rig = script.Parent
-- Tạo một ví dụ "Animation" mới và gán một ID tài sản hoạt hình
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Tạo một "AnimationController" và "Animator" mới
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Tải hoạt hình lên animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Chơi bản theo dõi hoạt hình
kickAnimationTrack:Play()
-- Nếu một sự kiện được đặt tên đã được định nghĩa cho hoạt hiệu ứng động, kết nối nó với "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
Thay thế hoạt họa mặc định
Mặc định, nhân vật người chơi Roblox bao gồm các hoạt hình thông thường như chạy, leo trèo, bơi và nhảy.Bạn có thể thay thế những hoạt họa mặc định này bằng hoạt họa từ catalogue hoặc với hoạt họa tùy chỉnh riêng của bạn .
Nhận ID tài sản của hoạt hình mới như sau:
- Đối với một hoạt hình tùy chỉnh được xây dựng với Trình xuất bản hoạt hình, hãy làm theo hướng dẫn xuất.
- Sao chép một ID thích hợp từ tài liệu tham khảo hoạt hình catalogue bên dưới.Ví dụ, để thay thế hoạt hình chạy mặc định bằng biến thể Ninja chạy, hãy sử dụng 656118852.
Trong kịch bản mới, sao chép mã sau:
Tập lệnh - Thay thế hoạt hình nhân vật mặc địnhlocal Players = game:GetService("Players")local function onCharacterAdded(character)-- Nhận animator trên humanoidlocal humanoid = character:WaitForChild("Humanoid")local animator = humanoid:WaitForChild("Animator")-- Dừng tất cả các bản phát hình hoạt hìnhfor _, playingTrack in animator:GetPlayingAnimationTracks() doplayingTrack:Stop(0)endlocal animateScript = character:WaitForChild("Animate")--animateScript.run.RunAnim.AnimationId = "rbxassetid://"--animateScript.đi bộ.WalkAnim.AnimationId = "rbxassetid://"--animateScript.nhảy.JumpAnim.AnimationId = "rbxassetid://"--animateScript.nhàn rỗi.Animation1.AnimationId = "rbxassetid://"--animateScript.nhàn rỗi.Animation2.AnimationId = "rbxassetid://"--animateScript.té.FallAnim.AnimationId = "rbxassetid://"--animateScript.bơi.Swim.AnimationId = "rbxassetid://"--animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"--animateScript.leo.ClimbAnim.AnimationId = "rbxassetid://"endlocal function onPlayerAdded(player)player.CharacterAppearanceLoaded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)Cho mỗi dòng tham chiếu đến một hoạt hình nhân vật mặc định , hãy bỏ dấu nhận xét và dán ID thay thế sau rbxassetid:// .Ví dụ, để thay đổi hoạt họa chạy mặc định thành biến thể Ninja Run:
Tập lệnh - Thay thế hoạt hình nhân vật mặc địnhlocal Players = game:GetService("Players")local function onCharacterAdded(character)-- Nhận animator trên humanoidlocal humanoid = character:WaitForChild("Humanoid")local animator = humanoid:WaitForChild("Animator")-- Dừng tất cả các bản phát hình hoạt hìnhfor _, playingTrack in animator:GetPlayingAnimationTracks() doplayingTrack:Stop(0)endlocal animateScript = character:WaitForChild("Animate")animateScript.run.RunAnim.AnimationId = "rbxassetid://656118852"--animateScript.đi bộ.WalkAnim.AnimationId = "rbxassetid://"--animateScript.nhảy.JumpAnim.AnimationId = "rbxassetid://"--animateScript.nhàn rỗi.Animation1.AnimationId = "rbxassetid://"--animateScript.nhàn rỗi.Animation2.AnimationId = "rbxassetid://"--animateScript.té.FallAnim.AnimationId = "rbxassetid://"--animateScript.bơi.Swim.AnimationId = "rbxassetid://"--animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"--animateScript.leo.ClimbAnim.AnimationId = "rbxassetid://"endlocal function onPlayerAdded(player)player.CharacterAppearanceLoaded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)
Đặt trọng lượng hoạt hình
Bạn có thể sử dụng nhiều hoạt hình cho cùng một hành động.Ví dụ, có hai biến thể idle trong mẫu mã nguồn cho thay thế các hoạt hình mặc định .
Khi có nhiều hoạt hình tồn tại cho trạng thái của một nhân vật, hoạt họa kịch bản sẽ chọn ngẫu nhiên hoạt hình nào để chơi, nhưng bạn có thể ảnh hưởng đến kết quả bằng cách đặt giá trị Weight hoạt hiệu ứng độngdưới công thức sau:
- trọng lượng hoạt hình / tổng trọng lượng của tất cả các hoạt hình trạng thái Trong ví dụ sau, idle.Animation1 sẽ chơi ⅓ thời gian nhân vật đang nhàn rỗi, trong khi idle.Animation2 sẽ chơi ⅔ thời gian.
Tập lệnh - Thay thế hoạt hình nhân vật mặc định
animateScript.idle.Animation1.AnimationId = "rbxassetid://656117400"animateScript.idle.Animation2.AnimationId = "rbxassetid://656118341"animateScript.idle.Animation1.Weight.Value = 5animateScript.idle.Animation2.Weight.Value = 10
Tham chiếu hoạt hình
Hoạt hình nhân vật mặc định
Bảng sau đây chứa tất cả các hoạt hình nhân vật mặc định mà bạn có thể thay thế bằng hoạt hình danh mục hoặc hoạt hình tùy chỉnh riêng của bạn.Lưu ý rằng Rảnh rỗi có hai biến thể mà bạn có thể cân nhắc để chơi thường xuyên hơn hoặc ít hơn.
Hành động của nhân hành động | Tham chiếu kịch bản hoạt hình |
Chạy | animateScript.run.RunAnim.AnimationId |
Đi bộ | animateScript.walk.WalkAnim.AnimationId |
Nhảy | animateScript.jump.JumpAnim.AnimationId |
Rảnh rỗi | animateScript.idle.Animation1.AnimationId``animateScript.idle.Animation2.AnimationId |
Mùa thu | animateScript.fall.FallAnim.AnimationId |
Bơi | animateScript.swim.Swim.AnimationId |
Bơi (Nhàn rỗi) | animateScript.swimidle.SwimIdle.AnimationId |
Lên cao | animateScript.climb.ClimbAnim.AnimationId |
Hoạt hình danh mục
Khi sử dụng các gói hoạt hình avatar để thay thế hoạt hình mặc định, hãy sử dụng các tham chiếu sau đây cho các ID tài sản tương ứng.Ví dụ, nếu bạn muốn áp dụng hoạt hình Ninja Nhảy, hãy sử dụng 656117878.Lưu ý rằng Rảnh rỗi có nhiều biến thể.
Phi hành gia > | Chạy 891636393 Đi bộ 891636393 Nhảy 891627522 Nhàn rỗi 891621366, 891633237, 1047759695 Ngủ 891617966, 891633237, 1047759695 Bơi 891639666 Bơi (Nhàn rỗi) 891663592 |
Bong bóng | Chạy 910025107 Đi bộ 910034870 Nhảy 910016857 Nhàn rỗi 910004836, 910009958, 1018536639 Ngủ 910001910, 910009958, 1018536639 Bơi 910028158 Bơi (Nhàn rỗi) 910030921 |
Hoạt hình > | Chạy 742638842 Đi bộ 742640026 Nhảy 742637942 Nhàn rỗi 742637544, 742638445, 885477856 Ngủ 742637151 Bơi 742639220 Bơi (Nhàn rỗi) 742639812 Lặn 742636889 |
Cao tuổi > | Chạy 845386501 Đi bộ 845403856 Nhảy 845398858 Nhàn rỗi 845397899, 845400520, 901160519 Ngủ 845396048 Bơi (Nhàn rỗi) 845401742 Bơi (Nhàn rỗi) 845392038 |
Hiệp sĩ > | Chạy 657564596 Đi bộ 657552124 Nhảy 658409194 Nhàn rỗi 657595757, 657568135, 885499184 Ngủ 657600338, 657568135, 885499184 Bơi 657560551 Bơi (Nhàn rỗi) 657557095 |
Lơ lửng > | Chạy 616010382 Đi bộ 616013216 Nhảy 616008936 Nhàn rỗi 616006778, 616008087, 886862142 Ngủ 616005863 Bơi (Nhàn rỗi) 616011509 Lặn (Nhàn rỗi) 616003713 |
Pháp sư > | Chạy 707861613 Đi bộ 707897309 Nhảy 707853694 Nhàn rỗi 707742142, 707855907, 885508740 Ngủ 707829716 Bơi 707876443 Bơi (Nhàn rỗi) 707894699 |
Ninja > | Chạy 656118852 Đi bộ 656121766 Nhảy 656117878 Nhàn rỗi 656117400, 656118341, 886742569 Ngủ 656115606 Bơi 656119721 Bơi (Nhàn rỗi) 656121397 |
Hải tặc > | Chạy 750783738 Đi bộ 750785693 Nhảy 750782230 Nhàn rỗi 750781874, 750782770, 885515365 Ngủ 750780242, 750782770, 885515365 Bơi 750784579 Bơi (Nhàn rỗi) 750785176 Lên núi 750785176 |
Robot > | Chạy 616091570 Đi bộ 616095330 Nhảy 616090535 Nhàn rỗi 616088211, 616089559, 885531463 Ngủ 616087089, 616089559, 885531463 Bơi 616092998 Bơi (Nhàn rỗi) 616086039 |
Rthro | Chạy 2510198475 Đi bộ 2510202577 Nhảy 2510197830 Nhàn rỗi 2510197257, 2510196951, 3711062489 Ngủ 2510195892 Bơi (Nhàn rỗi) 2510201162 Bơi (Nhàn rỗi) 2510199791 |
Sành điệu | Chạy 616140816 Đi bộ 616146177 Nhảy 616139451 Nhàn rỗi 616136790, 616138447, 886888594 Ngủ 616134815 Bơi (Nhàn rỗi) 616143378 Lặn (Nhàn rỗi) 616144772 |
Siêu anh hùng > | Chạy 616117076 Đi bộ 616122287 Nhảy 616115533 Nhàn rỗi 616111295, 616113536, 885535855 Ngủ 616108001, 616113536, 885535855 Bơi 616119360 Bơi (Nhàn rỗi) 616120861 |
Đồ chơi | Chạy 782842708 Đi bộ 782843345 Nhảy 782847020 Nhàn rỗi 782841498, 782845736, 980952228 Ngủ 782846423 Bơi (Nhàn rỗi) 782845186 Lặn (Nhàn rỗi) 782843869 |
Ma Cà Rồng > | Chạy 1083462077 Đi bộ 1083473930 Nhảy 1083455352 Nhàn rỗi 1083445855, 1083450166, 1088037547 Ngủ 1083443587 Bơi 1083464683 Bơi (Nhàn rỗi) 1083467779 |
Sói rừng > | Chạy 1083216690 Đi bộ 1083178339 Nhảy 1083218792 Nhàn rỗi 1083195517, 1083214717, 1099492820 Ngủ 1083189019 Bơi 1083222527 Bơi (Nhàn rỗi) 1083225406 |
Thây ma > | Chạy 616163682 Đi bộ 616168032 Nhảy 616161997 Nhàn rỗi 616158929, 616160636, 885545458 Ngủ 616157476 Bơi 616165109 Bơi (Nhàn rỗi) 616166655 Lặn 616156119 |