Sử dụng hoạt hình

*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.

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:

  1. Hãy chắc chắn rằng Humanoid của người chơi địa phương bao gồm một đối tượng Animator.
  2. Tạo một instance mới Animation với đúng AnimationId .
  3. Tải hoạt hình thông qua Animator:LoadAnimation() để tạo một AnimationTrack .
  4. 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 .

  1. Nhận ID tài sản của hoạt hình mới như sau:

  2. Trong cửa sổ Explorer, thêm một mới Script vào ServerScriptService .

    1. Chuyển qua ServerScriptService và nhấp vào nút ⊕.
    2. Từ menu ngữ cảnh, chèn Tập lệnh .
  3. 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 định

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Nhận animator trên humanoid
    local 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ình
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local 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://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. 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 định

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Nhận animator trên humanoid
    local 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ình
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local 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://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.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 = 5
animateScript.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 độngTham 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