Menggunakan animasi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Setelah Anda membuat sebuah animasi, Anda perlu menggunakan skrip untuk menyertakannya dalam permainan Anda. Anda dapat memutar animasi secara manual dari skrip atau mengganti animasi bawaan untuk karakter pemain.

Memutar animasi dari skrip

Dalam beberapa kasus, Anda perlu memutar animasi langsung dari dalam skrip, misalnya ketika pengguna menekan tombol tertentu atau mengambil item khusus.

Humanoid

Untuk memutar animasi pada rig yang berisi objek Humanoid, seperti karakter yang dapat dimainkan biasanya, ikuti pola dasar ini:

  1. Pastikan bahwa Humanoid pemain lokal berisi objek Animator.
  2. Buat instansi Animation baru dengan AnimationId yang tepat.
  3. Muat animasi melalui Animator:LoadAnimation() untuk membuat AnimationTrack.
  4. Putar trek dengan AnimationTrack:Play().

Sebagai contoh, skrip LocalScript berikut, ketika ditempatkan di StarterPlayerScripts, memuat animasi "tendangan" ke karakter pemain dan memutarnya. Skrip ini juga menggunakan metode GetMarkerReachedSignal() untuk mendeteksi kapan peristiwa animasi tertentu terjadi.

LocalScript - Memutar Animasi Kustom pada Karakter Pemain

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Pastikan bahwa humanoid karakter berisi objek "Animator"
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Buat instansi "Animation" baru dan berikan ID aset animasi
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Muat animasi ke dalam animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Jika sebuah peristiwa bernama ditentukan untuk animasi, sambungkan ke "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Putar trek animasi
kickAnimationTrack:Play()

Non-humanoid

Untuk memutar animasi pada rig yang tidak mengandung Humanoid, Anda harus membuat AnimationController dengan anak Animator. Sebagai contoh, skrip Script berikut (diasumsikan sebagai anak langsung dari rig) memuat animasi "tendangan" dan memutarnya.

Script - Memutar Animasi Kustom pada Rig Karakter

local rig = script.Parent
-- Buat instansi "Animation" baru dan berikan ID aset animasi
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Buat "AnimationController" baru dan "Animator"
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Muat animasi ke dalam animator
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Jika sebuah peristiwa bernama ditentukan untuk animasi, sambungkan ke "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Putar trek animasi
kickAnimationTrack:Play()

Mengganti animasi bawaan

Secara default, karakter pemain Roblox menyertakan animasi umum seperti berlari, memanjat, berenang, dan melompat. Anda dapat mengganti animasi bawaan ini dengan animasi dari katalog atau dengan animasi kustom Anda sendiri.

  1. Dapatkan ID aset dari animasi baru sebagai berikut:

  2. Di jendela Explorer, tambahkan Script baru ke ServerScriptService.

    1. Arahkan mouse ke ServerScriptService dan klik tombol ⊕.
    2. Dari menu kontekstual, masukkan Script.
  3. Di skrip baru, tempel kode berikut:

    Script - Mengganti Animasi Karakter Bawaan

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Dapatkan animator pada humanoid
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Hentikan semua trek animasi
    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. Untuk setiap baris yang merujuk pada animasi karakter bawaan, hilangkan tanda komentar dan tempel ID pengganti setelah rbxassetid://. Misalnya, untuk mengubah animasi berlari bawaan ke variasi Ninja Run:

    Script - Mengganti Animasi Karakter Bawaan

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Dapatkan animator pada humanoid
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Hentikan semua trek animasi
    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)

Mengatur bobot animasi

Anda dapat menggunakan beberapa animasi untuk tindakan yang sama. Misalnya, ada dua variasi idle dalam contoh kode untuk mengganti animasi bawaan.

Ketika beberapa animasi ada untuk sebuah kondisi karakter, skrip Animate memilih salah satunya secara acak, tetapi Anda dapat mempengaruhi hasilnya dengan mengatur nilai Weight dari animasi di bawah rumus berikut:

  • bobot animasi / total bobot dari semua animasi keadaan

Dalam contoh berikut, idle.Animation1 akan diputar ⅓ dari waktu saat karakter dalam keadaan diam, sementara idle.Animation2 akan diputar ⅔ dari waktu.

Script - Mengganti Animasi Karakter Bawaan

animateScript.idle.Animation1.AnimationId = "rbxassetid://656117400"
animateScript.idle.Animation2.AnimationId = "rbxassetid://656118341"
animateScript.idle.Animation1.Weight.Value = 5
animateScript.idle.Animation2.Weight.Value = 10

Referensi animasi

Animasi karakter bawaan

Tabel berikut berisi semua animasi karakter bawaan yang dapat Anda ganti dengan animasi katalog atau animasi kustom Anda sendiri. Perhatikan bahwa Idle memiliki dua variasi yang dapat Anda berikan bobot untuk diputar lebih sering atau kurang sering.

Tindakan karakterReferensi skrip Animate
BerlarianimateScript.run.RunAnim.AnimationId
BerjalananimateScript.walk.WalkAnim.AnimationId
MelompatanimateScript.jump.JumpAnim.AnimationId
Diam

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

JatuhanimateScript.fall.FallAnim.AnimationId
Berenang

animateScript.swim.Swim.AnimationId

Berenang (Diam)

animateScript.swimidle.SwimIdle.AnimationId

MemanjatanimateScript.climb.ClimbAnim.AnimationId

Animasi katalog

Saat menggunakan bundel animasi avatar untuk mengganti animasi bawaan, gunakan referensi berikut untuk ID aset masing-masing. Misalnya, jika Anda ingin menerapkan animasi Ninja Jump, gunakan 656117878. Perhatikan bahwa Idle memiliki beberapa variasi.

Astronaut
Berlari
891636393
Berjalan
891636393
Melompat
891627522
Diam
891621366, 891633237, 1047759695
Jatuh
891617961
Berenang
891639666
Berenang (Diam)
891663592
Memanjat
891609353
Bubbly
Berlari
910025107
Berjalan
910034870
Melompat
910016857
Diam
910004836, 910009958, 1018536639
Jatuh
910001910
Berenang
910028158
Berenang (Diam)
910030921
Memanjat
909997997
Cartoony
Berlari
742638842
Berjalan
742640026
Melompat
742637942
Diam
742637544, 742638445, 885477856
Jatuh
742637151
Berenang
742639220
Berenang (Diam)
742639812
Memanjat
742636889
Elder
Berlari
845386501
Berjalan
845403856
Melompat
845398858
Diam
845397899, 845400520, 901160519
Jatuh
845396048
Berenang
845401742
Berenang (Diam)
845403127
Memanjat
845392038
Knight
Berlari
657564596
Berjalan
657552124
Melompat
658409194
Diam
657595757, 657568135, 885499184
Jatuh
657600338
Berenang
657560551
Berenang (Diam)
657557095
Memanjat
658360781
Levitation
Berlari
616010382
Berjalan
616013216
Melompat
616008936
Diam
616006778, 616008087, 886862142
Jatuh
616005863
Berenang
616011509
Berenang (Diam)
616012453
Memanjat
616003713
Mage
Berlari
707861613
Berjalan
707897309
Melompat
707853694
Diam
707742142, 707855907, 885508740
Jatuh
707829716
Berenang
707876443
Berenang (Diam)
707894699
Memanjat
707826056
Ninja
Berlari
656118852
Berjalan
656121766
Melompat
656117878
Diam
656117400, 656118341, 886742569
Jatuh
656115606
Berenang
656119721
Berenang (Diam)
656121397
Memanjat
656114359
Pirate
Berlari
750783738
Berjalan
750785693
Melompat
750782230
Diam
750781874, 750782770, 885515365
Jatuh
750780242
Berenang
750784579
Berenang (Diam)
750785176
Memanjat
750779899
Robot
Berlari
616091570
Berjalan
616095330
Melompat
616090535
Diam
616088211, 616089559, 885531463
Jatuh
616087089
Berenang
616092998
Berenang (Diam)
616094091
Memanjat
616086039
Rthro
Berlari
2510198475
Berjalan
2510202577
Melompat
2510197830
Diam
2510197257, 2510196951, 3711062489
Jatuh
2510195892
Berenang
2510199791
Berenang (Diam)
2510201162
Memanjat
2510192778
Stylish
Berlari
616140816
Berjalan
616146177
Melompat
616139451
Diam
616136790, 616138447, 886888594
Jatuh
616134815
Berenang
616143378
Berenang (Diam)
616144772
Memanjat
616133594
Superhero
Berlari
616117076
Berjalan
616122287
Melompat
616115533
Diam
616111295, 616113536, 885535855
Jatuh
616108001
Berenang
616119360
Berenang (Diam)
616120861
Memanjat
616104706
Toy
Berlari
782842708
Berjalan
782843345
Melompat
782847020
Diam
782841498, 782845736, 980952228
Jatuh
782846423
Berenang
782844582
Berenang (Diam)
782845186
Memanjat
782843869
Vampire
Berlari
1083462077
Berjalan
1083473930
Melompat
1083455352
Diam
1083445855, 1083450166, 1088037547
Jatuh
1083443587
Berenang
1083464683
Berenang (Diam)
1083467779
Memanjat
1083439238
Werewolf
Berlari
1083216690
Berjalan
1083178339
Melompat
1083218792
Diam
1083195517, 1083214717, 1099492820
Jatuh
1083189019
Berenang
1083222527
Berenang (Diam)
1083225406
Memanjat
1083182000
Zombie
Berlari
616163682
Berjalan
616168032
Melompat
616161997
Diam
616158929, 616160636, 885545458
Jatuh
616157476
Berenang
616165109
Berenang (Diam)
616166655
Memanjat
616156119
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.