Sử dụng hoạt ả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 ra một hoạt ảnh, bạn cần sử dụng các kịch bản để đưa chúng vào trò chơi của bạn. Bạn có thể phát hoạt ảnh tùy ý từ các kịch bản hoặc thay thế các hoạt ảnh mặc định cho các nhân vật người chơi.

Phát hoạt ảnh từ các kịch bản

Trong một số trường hợp, bạn sẽ cần phát một hoạt ảnh trực tiếp từ bên trong một kịch bản, chẳng hạn như khi một người dùng nhấn một phím cụ thể hoặc nhặt một vật phẩm đặc biệt.

Nhân vật hoạt hình

Để phát một hoạt ảnh trên một khung chứa một đối tượng Humanoid, chẳng hạn như các nhân vật có thể chơi thông thường, hãy làm theo mẫu cơ bản này:

  1. Đảm bảo rằng Humanoid của người chơi địa phương có chứa một đối tượng Animator.
  2. Tạo một thể hiện Animation mới với AnimationId phù hợp.
  3. Tải hoạt ảnh thông qua Animator:LoadAnimation() để tạo ra một AnimationTrack.
  4. Phát bản nhạc với AnimationTrack:Play().

Ví dụ, LocalScript sau đây, khi được đặt trong StarterPlayerScripts, sẽ tải một hoạt ảnh "đá" vào nhân vật của người chơi và phát nó. Kịch bản cũng sử dụng phương thức GetMarkerReachedSignal() để phát hiện khi một sự kiện hoạt ảnh cụ thể xảy ra.

LocalScript - Phát Hoạt Ả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()
-- Đảm bảo rằng nhân vật có humanoid chứa một đối tượng "Animator"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Tạo một thể hiện "Animation" mới và gán một ID tài sản hoạt ảnh
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Tải hoạt ảnh vào animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Nếu một sự kiện có tên được định nghĩa cho hoạt ảnh, kết nối nó với "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Phát bản nhạc hoạt ảnh
kickAnimationTrack:Play()

Không phải nhân vật hoạt hình

Để phát các hoạt ảnh trên các khung không chứa Humanoid, bạn phải tạo một AnimationController với một Animator con. Ví dụ, Script sau đây (giả định là con trực tiếp của khung) sẽ tải một hoạt ảnh "đá" và phát nó.

Script - Phát Hoạt Ảnh Tùy Chỉnh trên Khung Nhân Vật

local rig = script.Parent
-- Tạo một thể hiện "Animation" mới và gán một ID tài sản hoạt ảnh
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Tạo một "AnimationController" mới và "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Tải hoạt ảnh vào animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Nếu một sự kiện có tên được định nghĩa cho hoạt ảnh, kết nối nó với "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Phát bản nhạc hoạt ảnh
kickAnimationTrack:Play()

Thay thế các hoạt ảnh mặc định

Mặc định, các nhân vật người chơi trong Roblox bao gồm các hoạt ảnh thông dụng như chạy, leo trèo, bơi lội và nhảy. Bạn có thể thay thế các hoạt ảnh mặc định này bằng các hoạt ảnh từ catalog hoặc với các hoạt ảnh tùy chỉnh của riêng bạn.

  1. Lấy ID tài sản của hoạt ảnh mới như sau:

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

    1. Di chuột qua ServerScriptService và nhấp vào nút ⊕.
    2. Từ menu ngữ cảnh, chèn một Script.
  3. Trong kịch bản mới, dán mã sau:

    Script - Thay Thế Hoạt Ảnh Nhân Vật Mặc Định

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Lấy animator trên humanoid
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Dừng tất cả các bản nhạc hoạt ảnh
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    --animateScript.run.RunAnim.AnimationId = "rbxassetid://"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. Đối với mỗi dòng tham chiếu đến một hoạt ảnh nhân vật mặc định, hãy bỏ chú thích và dán ID thay thế sau rbxassetid://. Ví dụ, để thay đổi hoạt ảnh chạy mặc định thành biến thể Ninja Run:

    Script - Thay Thế Hoạt Ảnh Nhân Vật Mặc Định

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Lấy animator trên humanoid
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Dừng tất cả các bản nhạc hoạt ảnh
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    animateScript.run.RunAnim.AnimationId = "rbxassetid://656118852"
    --animateScript.walk.WalkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.idle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.fall.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.swim.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.ClimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)

Đặt trọng số cho hoạt ảnh

Bạn có thể sử dụng nhiều hoạt ảnh cho cùng một hành động. Ví dụ, có hai biến thể idle trong mẫu mã cho thay thế hoạt ảnh mặc định.

Khi nhiều hoạt ảnh tồn tại cho một trạng thái nhân vật, kịch bản Animate sẽ chọn ngẫu nhiên hoạt ảnh nào để phát, nhưng bạn có thể ảnh hưởng đến kết quả bằng cách đặt giá trị Weight của hoạt ảnh theo công thức sau:

  • trọng số hoạt ảnh / tổng trọng số của tất cả các hoạt ảnh trạng thái

Trong ví dụ sau, idle.Animation1 sẽ phát ⅓ thời gian nhân vật đứng yên, trong khi idle.Animation2 sẽ phát ⅔ thời gian.

Script - Thay Thế Hoạt Ả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 ảnh

Hoạt ảnh nhân vật mặc định

Bảng dưới đây chứa tất cả các hoạt ảnh nhân vật mặc định mà bạn có thể thay thế bằng các hoạt ảnh catalog hoặc các hoạt ảnh tùy chỉnh của riêng bạn. Lưu ý rằng Idle có hai biến thể mà bạn có thể đặt trọng số để phát nhiều hơn hoặc ít hơn.

Hành động nhân vậtTham chiếu kịch bản hoạt ảnh
ChạyanimateScript.run.RunAnim.AnimationId
Đi bộanimateScript.walk.WalkAnim.AnimationId
NhảyanimateScript.jump.JumpAnim.AnimationId
Đứng yên

animateScript.idle.Animation1.AnimationId
animateScript.idle.Animation2.AnimationId

NgãanimateScript.fall.FallAnim.AnimationId
Bơi

animateScript.swim.Swim.AnimationId

Bơi (đứng yên)

animateScript.swimidle.SwimIdle.AnimationId

LeoanimateScript.climb.ClimbAnim.AnimationId

Hoạt ảnh trong catalog

Khi sử dụng bộ hoạt ảnh avatar để thay thế các hoạt ảnh mặc định, hãy sử dụng các tham chiếu sau cho các ID tài sản tương ứng. Ví dụ, nếu bạn muốn áp dụng hoạt ảnh Ninja Jump, sử dụng 656117878. Lưu ý rằng Idle có nhiều biến thể.

Phi hành gia
Chạy
891636393
Đi bộ
891636393
Nhảy
891627522
Đứng yên
891621366, 891633237, 1047759695
Ngã
891617961
Bơi
891639666
Bơi (đứng yên)
891663592
Leo
891609353
Bubly
Chạy
910025107
Đi bộ
910034870
Nhảy
910016857
Đứng yên
910004836, 910009958, 1018536639
Ngã
910001910
Bơi
910028158
Bơi (đứng yên)
910030921
Leo
909997997
Hoạt hình
Chạy
742638842
Đi bộ
742640026
Nhảy
742637942
Đứng yên
742637544, 742638445, 885477856
Ngã
742637151
Bơi
742639220
Bơi (đứng yên)
742639812
Leo
742636889
Già
Chạy
845386501
Đi bộ
845403856
Nhảy
845398858
Đứng yên
845397899, 845400520, 901160519
Ngã
845396048
Bơi
845401742
Bơi (đứng yên)
845403127
Leo
845392038
Hiệp sĩ
Chạy
657564596
Đi bộ
657552124
Nhảy
658409194
Đứng yên
657595757, 657568135, 885499184
Ngã
657600338
Bơi
657560551
Bơi (đứng yên)
657557095
Leo
658360781
Levitating
Chạy
616010382
Đi bộ
616013216
Nhảy
616008936
Đứng yên
616006778, 616008087, 886862142
Ngã
616005863
Bơi
616011509
Bơi (đứng yên)
616012453
Leo
616003713
Phù thủy
Chạy
707861613
Đi bộ
707897309
Nhảy
707853694
Đứng yên
707742142, 707855907, 885508740
Ngã
707829716
Bơi
707876443
Bơi (đứng yên)
707894699
Leo
707826056
Ninja
Chạy
656118852
Đi bộ
656121766
Nhảy
656117878
Đứng yên
656117400, 656118341, 886742569
Ngã
656115606
Bơi
656119721
Bơi (đứng yên)
656121397
Leo
656114359
Cướp biển
Chạy
750783738
Đi bộ
750785693
Nhảy
750782230
Đứng yên
750781874, 750782770, 885515365
Ngã
750780242
Bơi
750784579
Bơi (đứng yên)
750785176
Leo
750779899
Robot
Chạy
616091570
Đi bộ
616095330
Nhảy
616090535
Đứng yên
616088211, 616089559, 885531463
Ngã
616087089
Bơi
616092998
Bơi (đứng yên)
616094091
Leo
616086039
Rthro
Chạy
2510198475
Đi bộ
2510202577
Nhảy
2510197830
Đứng yên
2510197257, 2510196951, 3711062489
Ngã
2510195892
Bơi
2510199791
Bơi (đứng yên)
2510201162
Leo
2510192778
Phong cách
Chạy
616140816
Đi bộ
616146177
Nhảy
616139451
Đứng yên
616136790, 616138447, 886888594
Ngã
616134815
Bơi
616143378
Bơi (đứng yên)
616144772
Leo
616133594
Siêu anh hùng
Chạy
616117076
Đi bộ
616122287
Nhảy
616115533
Đứng yên
616111295, 616113536, 885535855
Ngã
616108001
Bơi
616119360
Bơi (đứng yên)
616120861
Leo
616104706
Đồ chơi
Chạy
782842708
Đi bộ
782843345
Nhảy
782847020
Đứng yên
782841498, 782845736, 980952228
Ngã
782846423
Bơi
782844582
Bơi (đứng yên)
782845186
Leo
782843869
Vampire
Chạy
1083462077
Đi bộ
1083473930
Nhảy
1083455352
Đứng yên
1083445855, 1083450166, 1088037547
Ngã
1083443587
Bơi
1083464683
Bơi (đứng yên)
1083467779
Leo
1083439238
Người sói
Chạy
1083216690
Đi bộ
1083178339
Nhảy
1083218792
Đứng yên
1083195517, 1083214717, 1099492820
Ngã
1083189019
Bơi
1083222527
Bơi (đứng yên)
1083225406
Leo
1083182000
Zombie
Chạy
616163682
Đi bộ
616168032
Nhảy
616161997
Đứng yên
616158929, 616160636, 885545458
Ngã
616157476
Bơi
616165109
Bơi (đứng yên)
616166655
Leo
616156119
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.