Animasyonları Kullanma

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bir animasyon oluşturduktan sonra, bunları oyununuzda kullanmak için betikler kullanmalısınız. Animasyonları betikler aracılığıyla manuel olarak oynatabilirsiniz veya oyuncu karakterleri için varsayılan animasyonları değiştirebilirsiniz.

Betiklerden Animasyon Oynatma

Bazı durumlarda, bir animasyonu doğrudan bir betikten oynatmanız gerekir; örneğin, bir kullanıcı belirli bir tuşa bastığında veya özel bir nesne aldığında.

İnsanlar

Humanoid nesnesi içeren bir yapı üzerinde bir animasyon oynatmak için, tipik oynanabilir karakterler gibi, bu temel kalıbı izleyin:

  1. Yerel oyuncunun Humanoid nesnesinin bir Animator nesnesi içerdiğinden emin olun.
  2. Uygun AnimationId ile yeni bir Animation örneği oluşturun.
  3. Animasyonu Animator:LoadAnimation() aracılığıyla yükleyin ve bir AnimationTrack oluşturun.
  4. İzleme işlemini AnimationTrack:Play() ile oynatın.

Örneğin, aşağıdaki LocalScript, StarterPlayerScripts içerisine yerleştirildiğinde, oyuncunun karakterine bir "tekme" animasyonu yükler ve oynatır. Betik ayrıca belirli bir animasyon olayının meydana geldiğini algılamak için GetMarkerReachedSignal() yöntemini kullanır.

LocalScript - Oyuncu Karakterinde Özel Animasyon Oynatma

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Karakterin humanoid'inin "Animator" nesnesi içerdiğinden emin olun
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Yeni bir "Animation" örneği oluşturun ve bir animasyon varlık ID'si atayın
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Animasyonu animatöre yükleyin
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Animasyon için adlandırılmış bir olayı tanımladıysanız, "GetMarkerReachedSignal()" ile bağlayın
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Animasyon izleme işlemini oynat
kickAnimationTrack:Play()

İnsan Dışı

Humanoid nesnesi içermeyen yapıların üzerinde animasyon oynamak istiyorsanız, bir AnimationController oluşturmalı ve bir Animator eklemelisiniz. Örneğin, aşağıdaki Script (yapının doğrudan çocuğu olduğu varsayılmaktadır) bir "tekme" animasyonu yükler ve oynatır.

Script - Karakter Yapısında Özel Animasyon Oynatma

local rig = script.Parent
-- Yeni bir "Animation" örneği oluşturun ve bir animasyon varlık ID'si atayın
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Yeni bir "AnimationController" ve "Animator" oluşturun
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- Animasyonu animatöre yükleyin
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- Animasyon için adlandırılmış bir olayı tanımladıysanız, "GetMarkerReachedSignal()" ile bağlayın
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
task.wait(4)
-- Animasyon izleme işlemini oynat
kickAnimationTrack:Play()

Varsayılan Animasyonları Değiştirme

Varsayılan olarak, Roblox oyuncu karakterleri koşma, tırmanma, yüzme ve zıplama gibi yaygın animasyonları içerir. Bu varsayılan animasyonları, katalogdan veya kendi özel animasyonlarınızla değiştirebilirsiniz.

  1. Yeni animasyonun varlık ID'sini aşağıdaki gibi elde edin:

  2. Explorer penceresinde, ServerScriptService içine yeni bir Script ekleyin.

    1. ServerScriptService üzerine gelin ve ⊕ butonuna tıklayın.
    2. Bağlam menüsünden bir Script ekleyin.
  3. Yeni betiğe şu kodu yapıştırın:

    Script - Varsayılan Karakter Animasyonlarını Değiştirme

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Humanoid içinde animatörü alın
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Tüm animasyon izlemelerini durdur
    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. Her bir varsayılan karakter animasyonu referansına başvuran satır için, yorumunu kaldırın ve rbxassetid:// ifadesinden sonra değiştirme ID'sini yapıştırın. Örneğin, varsayılan koşu animasyonunu Ninja Run varyantına değiştirmek için:

    Script - Varsayılan Karakter Animasyonlarını Değiştirme

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- Humanoid içinde animatörü alın
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- Tüm animasyon izlemelerini durdur
    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)

Animasyon Ağırlıklarını Belirleme

Aynı eylem için birden fazla animasyon kullanabilirsiniz. Örneğin, varsayılan animasyonları değiştirme kod örneğinde iki idle varyasyonu bulunmaktadır.

Bir karakter durumu için birden fazla animasyon mevcut olduğunda, Animate betiği rastgele hangi animasyonun oynatılacağını seçer. Ancak, animasyonun Weight değerini aşağıdaki formül ile belirleyerek sonucu etkileyebilirsiniz:

  • animasyon ağırlığı / tüm durum animasyonlarının toplam ağırlığı

Aşağıda verilen örnekte, idle.Animation1 karakterin durduğu süre boyunca ⅓ oranında, idle.Animation2 ise ⅔ oranında oynayacaktır.

Script - Varsayılan Karakter Animasyonlarını Değiştirme

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

Animasyon Referansları

Varsayılan Karakter Animasyonları

Aşağıdaki tablo, varsayılan animasyonları katalog animasyonları veya kendi özel animasyonlarınızla değiştirebileceğiniz tüm varsayılan karakter animasyonlarını içerir. Idle animasyonunun daha sık veya daha az oynatılması için iki varyasyonu olduğunu unutmayın.

Karakter eylemiAnimasyon betiği referansı
KoşuanimateScript.run.RunAnim.AnimationId
YürüyüşanimateScript.walk.WalkAnim.AnimationId
ZıplamaanimateScript.jump.JumpAnim.AnimationId
Dolaşma

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

DüşmeanimateScript.fall.FallAnim.AnimationId
Yüzme

animateScript.swim.Swim.AnimationId

Yüzme (Dolaşma)

animateScript.swimidle.SwimIdle.AnimationId

TırmanmaanimateScript.climb.ClimbAnim.AnimationId

Katalog Animasyonları

Varsayılan animasyonları değiştirmek için avatar animasyon paketlerini kullanırken, ilgili varlık ID'leri için aşağıdaki referansları kullanın. Örneğin, Ninja Jump animasyonunu uygulamak için 656117878 kullanın. Idle animasyonunun birden fazla varyasyonu olduğunu unutmayın.

Astronot
Koşu
891636393
Yürüyüş
891636393
Zıplama
891627522
Dolaşma
891621366, 891633237, 1047759695
Düşme
891617961
Yüzme
891639666
Yüzme (Dolaşma)
891663592
Tırmanma
891609353
Havalı
Koşu
910025107
Yürüyüş
910034870
Zıplama
910016857
Dolaşma
910004836, 910009958, 1018536639
Düşme
910001910
Yüzme
910028158
Yüzme (Dolaşma)
910030921
Tırmanma
909997997
Karikatür
Koşu
742638842
Yürüyüş
742640026
Zıplama
742637942
Dolaşma
742637544, 742638445, 885477856
Düşme
742637151
Yüzme
742639220
Yüzme (Dolaşma)
742639812
Tırmanma
742636889
Yaşlı
Koşu
845386501
Yürüyüş
845403856
Zıplama
845398858
Dolaşma
845397899, 845400520, 901160519
Düşme
845396048
Yüzme
845401742
Yüzme (Dolaşma)
845403127
Tırmanma
845392038
Şövalye
Koşu
657564596
Yürüyüş
657552124
Zıplama
658409194
Dolaşma
657595757, 657568135, 885499184
Düşme
657600338
Yüzme
657560551
Yüzme (Dolaşma)
657557095
Tırmanma
658360781
Havada Durma
Koşu
616010382
Yürüyüş
616013216
Zıplama
616008936
Dolaşma
616006778, 616008087, 886862142
Düşme
616005863
Yüzme
616011509
Yüzme (Dolaşma)
616012453
Tırmanma
616003713
Büyücü
Koşu
707861613
Yürüyüş
707897309
Zıplama
707853694
Dolaşma
707742142, 707855907, 885508740
Düşme
707829716
Yüzme
707876443
Yüzme (Dolaşma)
707894699
Tırmanma
707826056
Ninja
Koşu
656118852
Yürüyüş
656121766
Zıplama
656117878
Dolaşma
656117400, 656118341, 886742569
Düşme
656115606
Yüzme
656119721
Yüzme (Dolaşma)
656121397
Tırmanma
656114359
Korsan
Koşu
750783738
Yürüyüş
750785693
Zıplama
750782230
Dolaşma
750781874, 750782770, 885515365
Düşme
750780242
Yüzme
750784579
Yüzme (Dolaşma)
750785176
Tırmanma
750779899
Robot
Koşu
616091570
Yürüyüş
616095330
Zıplama
616090535
Dolaşma
616088211, 616089559, 885531463
Düşme
616087089
Yüzme
616092998
Yüzme (Dolaşma)
616094091
Tırmanma
616086039
Rthro
Koşu
2510198475
Yürüyüş
2510202577
Zıplama
2510197830
Dolaşma
2510197257, 2510196951, 3711062489
Düşme
2510195892
Yüzme
2510199791
Yüzme (Dolaşma)
2510201162
Tırmanma
2510192778
Şık
Koşu
616140816
Yürüyüş
616146177
Zıplama
616139451
Dolaşma
616136790, 616138447, 886888594
Düşme
616134815
Yüzme
616143378
Yüzme (Dolaşma)
616144772
Tırmanma
616133594
Süper Kahraman
Koşu
616117076
Yürüyüş
616122287
Zıplama
616115533
Dolaşma
616111295, 616113536, 885535855
Düşme
616108001
Yüzme
616119360
Yüzme (Dolaşma)
616120861
Tırmanma
616104706
Oyuncak
Koşu
782842708
Yürüyüş
782843345
Zıplama
782847020
Dolaşma
782841498, 782845736, 980952228
Düşme
782846423
Yüzme
782844582
Yüzme (Dolaşma)
782845186
Tırmanma
782843869
Vampir
Koşu
1083462077
Yürüyüş
1083473930
Zıplama
1083455352
Dolaşma
1083445855, 1083450166, 1088037547
Düşme
1083443587
Yüzme
1083464683
Yüzme (Dolaşma)
1083467779
Tırmanma
1083439238
Kurt Adam
Koşu
1083216690
Yürüyüş
1083178339
Zıplama
1083218792
Dolaşma
1083195517, 1083214717, 1099492820
Düşme
1083189019
Yüzme
1083222527
Yüzme (Dolaşma)
1083225406
Tırmanma
1083182000
Zombi
Koşu
616163682
Yürüyüş
616168032
Zıplama
616161997
Dolaşma
616158929, 616160636, 885545458
Düşme
616157476
Yüzme
616165109
Yüzme (Dolaşma)
616166655
Tırmanma
616156119
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.