Animasyon Grafiği Editörü

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

Animasyon Grafiği Editörü, teknik sanatçılara ve animatörlere, karmaşık animasyon mantığını doğrudan Roblox Studio içinde oluşturma yetkisi veren görsel, düğüm tabanlı bir araçtır. Blend ağaçları gibi davranışları oluşturmak için akıcı bir arayüz sunarak, karakter hareketi için geleneksel manuel betimleme bağımlılığını ortadan kaldırır.

Bu sistem, mevcut animasyon iş akışınızla birlikte çalışır:

  • Animasyon Editörü: Bireysel klipleri oluşturmak ve anahtar çerçeveleri ve eğrileri ince ayar yapmak için Animasyon Editörü kullanmaya devam edin.
  • Animasyon Grafiği Editörü: Bu aracı kullanarak bu klipleri alıp, karmaşık oyun davranışlarını yönlendirmek için bir mantık ağacına düzenleyin.

İşbirliğini artırmak için tasarlanan görsel grafik, geliştiricilerin animatörler tarafından oluşturulan mantığı hızlı bir şekilde incelemesine, hata ayıklamasına ve anlamasına olanak tanır. Sanatçılar etkileşimli hareketi geliştirmeye odaklanırken, geliştiriciler de karışık animasyonlar ve durumlar üzerinde doğrudan kontrol sağlamak için animasyon grafiği düğümlerine programatik olarak erişebilirler.

Bir grafik oluşturun

Animasyonlu bir karakter için mantık oluşturmaya başlamak için, Studio şeridindeki Avatar sekmesi aracılığıyla Animasyon Grafiği editörüne erişin. Aşağıdaki adımlar, bir rig başlatmayı ve varsayılan yürüyüş ve el sallama animasyonlarını kullanarak temel bir düğüm ağı oluşturmayı göstermektedir.

Pratik uygulamalar hakkında daha derin bir inceleme için, hem temel hem de karmaşık uygulama örneklerini içeren Animasyon Grafiği Referans Dosyası üzerinde keşif yapabilirsiniz.

Kendi animasyon grafiğinizi oluşturmak için, referansta sağlanan temel örneğe benzer şekilde aşağıdaki adımları izleyin:

  1. Studio'da, Avatar sekmesine giderek ve Karakter ⟩ Benim Avatarım seçeneğini seçerek animasyonlu bir rig ekleyin.

    Studio'nun araç çubuğunda karakter düğmesi vurgulanmış.
  2. Avatar sekmesinde Grafik Editörü'ne giderek Animasyon Grafiği Editörünü açın.

    Studio'nun araç çubuğunda Animasyon Grafiği Editörü belirtilmiş.
  3. 3D görünümde animasyonlu rigi seçin. Grafik editör görünümünde, sol üst köşede Grafik'i seçin ve yeni bir grafik oluşturmak için Yeni'yi seçin.

  4. Grafik Editörü'nde sağ tıklayın ve Düğüm Ekle ⟩ Klip seçeneğini seçin.

    Sağ tıklama menüsündeki düğüm listesi
  5. Yeni Klip düğümünde, Animasyon Kimliğini ayarlayın.

    1. Animasyon Kimliği açılır menüsünü seçin.

    2. Belirli bir animasyon varlık kimliğini göndermek için İçe Aktar'a tıklayın.

      Animasyon kimliğini eklemek için animasyon içe aktarma modülündeki bir alanı gösterir.
    3. Animasyon Kimliği alanına varsayılan Yürüyüş animasyonunu ekleyin: 507777826.

    4. İçe Aktar'ı seçin.

  6. Varsayılan Dalga animasyonunu kullanarak adım 4-5'i tekrarlayarak başka bir klip düğümü ekleyin: 507770239.

    Doldurulmuş Animasyon Kimliğine sahip iki klip düğümü
  7. Grafik Editörü'nde sağ tıklayın ve Ekle'yi seçin.

    Düğüm ekle
  8. Klip düğümlerini Ekle düğümüne bağlayın; sağ üst çıkış konektörünü uygun porta sürükleyin:

    1. Yürüyüş animasyonuna sahip Klip düğümünü Temel portuna bağlayın.
    2. El sallama animasyonuna sahip Klip düğümünü Ekleme portuna bağlayın.
    Her iki klip düğümü ekleme düğümüne bağlı
  9. Ekle düğümünden, sağ üst çıkış konektörünü Grafik Çıkışı Poz portuna bağlayın.

    Tüm düğümler son çıkış düğümüne bağlı
  10. İSTEĞE BAĞLI
    Hız değişkeninize bir parametre atayın.

    1. Yeşil Hız portunu boş bir alana tıklayıp sürükleyin. Yeni bir parametre düğümü görüntülenir.

      Klip düğümünün Hız portundan konektörü tıklayıp sürükleyerek.
    2. Grafik editörünün sol üst kısmında, düğümlerdeki parametreleri hızlı bir şekilde değiştirmek için parametre panelini kullanın. Ayrıca buna programatik olarak erişebilirsiniz.

      Parametre paneli, parametre düğümü ve paylaşılan değerleri gösteren klip düğümü.
  11. Animasyonu test etmek için oynat düğmesine basın.

    Animasyonları önizlemek için oynat düğmesi simgesi
  12. Çeşitli ağırlıkları, hızları, oynatma modlarını ve diğer animasyonları test etmeyi deneyin. Bireysel düğümler hakkında daha fazla bilgi için Düğüm referansı sayfasına bakın.

API entegrasyonu

Bir Animasyon Grafiği oluşturmak ve dağıtmak, standart Roblox animasyon hattını takip eder. Animasyon Grafiği Editöründe bir rig seçtikten sonra, yeni bir AnimationGraphDefinition varlığı oluşturulur. Bu varlık, düğümlerinizin, bağlantılarınızın ve parametrelerinizin konteyneri olarak hizmet eder. Mantığınız tamamlandığında, grafiği yayınlayarak standart bir Varlık Kimliği alırsınız.

Betiklerinizde, bu grafikleri, geleneksel bir animasyon gibi Animator üzerine yükleyerek etkileşimde bulunursunuz. Grafiğin iç mantığını yönlendirmek için, gerçek zamanlı değerleri — hareket hızı veya durum boolean'ları gibi — doğrudan grafiğin değişkenlerine geçirmek için AnimationTrack:SetParameter() kullanın.

local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://123456789" -- Yayınlanan Grafiğinizin Kimliği
local animationTrack = animator:LoadAnimation(animation)
animationTrack:Play()
-- Dinamik parametre güncellemeleri RunService aracılığıyla
game:GetService("RunService").Stepped:Connect(function(_, dt)
local currentSpeed = humanoidRootPart.AssemblyLinearVelocity.Magnitude
animationTrack:SetParameter("humanoidSpeed", currentSpeed)
end)

Düğüm referansı

Küresel olay kuralları

Tüm düğümler ve geçişler için, varsayılan olarak aşağıdaki kurallar geçerlidir:

  • Olaylar, kaynak düğümünden yukarı doğru grafikte yayılır. Her olay, kaynağının son karışım üzerindeki etkisini temsil eden bir ağırlık taşır. Ağırlık herhangi bir noktada sıfıra ulaşırsa, olay susturulur.
  • Özel olay mantığı olmayan düğümler, tüm olayları değişmeden geçirir; girişler arasında karışım yapan veya seçim yapan düğümler, ağırlığı ölçeklendirebilir veya birincil olmayan girişlerden gelen olayları engelleyebilir (her düğüm için Olay bölümüne bakın).
  • Grafiğin tepe noktasına ulaşan işaretçi olayları, AnimationTrack:GetMarkerReachedSignal() aracılığıyla gözlemlenebilir.

Geçişler

Animasyon Grafiğindeki birkaç düğüm (örneğin Seç, Öncelik Seç, Dizi ve Rastgele Dizi), aktif girişler arasında geçiş yaparken animasyonların nasıl karıştığını yönetir. Düğüm referansında gereksizliği önlemek için, bu davranışlar standart geçiş özellik gruplarıyla tanımlanır.

Varsayılan geçiş

Varsayılan Geçiş

Düğümün yeni bir aktif girişi geçiş yaptığında uygulanan temel karışım davranışı.

Geçiş geçersiz kılma

Geçiş Geçersiz Kılma

Varsayılan geçişi geçersiz kılan girişe özgü bağlantı özellikleri. Süre ve eğri geçersiz kılmaları, düğüm o girişi geçiş yaptığında uygulanır; BeforeFinished geçişleri, giden girişin geçersiz kılmalarını kullanır.

Geçiş zamanlaması

Dizi düğüm türleri için, dizinin bir sonraki girişi ne zaman ilerleyeceğini kontrol eden ayarlar:

  • WaitFor (Enum.AnimationNodeWaitFor): İlerleme koşulunu ayarlar. Mevcut girişin bitmesini veya bir döngüyü tamamlamasını beklemek için Enum.AnimationNodeWaitFor|Finished (varsayılan) kullanın veya WaitForTrigger true olduğunda ilerlemek için Enum.AnimationNodeWaitFor|Trigger kullanın. Düğüm düzeyinde varsayılanı DefaultWaitFor ile ayarlayın veya bir girişi geçersiz kılmak için TransitionOverrideWaitFor kullanın.
    • When (Enum.AnimationNodeTransitionWhen): Wait For Enum.AnimationNodeWaitFor|Finished olduğunda uygulanır. Düğüm düzeyinde varsayılanı DefaultTransitionWhen ile ayarlayın veya giden giriş için TransitionOverrideWhen ile geçersiz kılın.
      • Enum.AnimationNodeTransitionWhen|Finished (varsayılan): Mevcut giriş tamamlandığında karışmaya başlar.
      • Enum.AnimationNodeTransitionWhen|BeforeFinished: Mevcut giriş tamamlanmadan bir geçiş süresi kadar önce karışmaya başlar, böylece karışım animasyonun sonunu örtüşür. Örneğin, 0.2 saniyelik bir geçiş, animasyonun son 0.2 saniyesinde başlar.

RandomSequenceNode ayrıca karışımın ne zaman başlayacağını kontrol etmek için DefaultTransitionWhen ve TransitionOverrideWhen'ı destekler.

Durum makinesi geçişleri için Geçiş özellikleri sayfasına bakın.

Çoğaltma

Animasyon grafiği parametreleri ve iç düğüm durumu otomatik olarak çoğaltılır. Çoğaltma modu, Animasyon betiği oluşturulduğunda Workspace.AuthorityMode tarafından belirlenir:

Örnek Animasyon Betikleri

Bir rig için bir animasyon grafiğini yönlendirmek üzere örnek betikler oluşturmak için, Animasyon Grafiği Editöründe Grafik -> Animasyon betiği oluştur seçeneğini kullanın. Bu, StarterCharacterScripts altında (oyuncu karakterleri için) veya doğrudan rig üzerinde (NPC'ler için) yerleştirilen bir betik hiyerarşisi üretir:

Animate (ModuleScript)
├── RunClient (LocalScript)
└── RunServer (Script, RunContext = Legacy)

Animate ModuleScript, grafik yükleme mantığını içerir. RunClient ve RunServer betikleri, uygun bağlamda bunu çağırır. Hangi betiklerin dahil olduğu kullanım durumuna bağlıdır:

Kullanım DurumuDahil Edilen BetiklerDavranış
NPC (herhangi bir mod)RunServerSunucu grafiği yükler ve oynatır. Durum otomatik olarak tüm istemcilere çoğaltılır.
Oyuncu + Enum.AuthorityMode.ServerRunServer + RunClientSunucu, grafiği yetkili olarak yönlendirir. Sahip istemci, geri alma tabanlı yerel tahmin için Enum.PredictionMode'u etkinleştirir.
Oyuncu + Enum.AuthorityMode.AutomaticRunClientSahip istemci grafiği yükler ve oynatır. Parametreler otomatik olarak sunucuya ve diğer istemcilere çoğaltılır.

Aşağıdaki özellikler, Animate betiğinde saklanır ve davranışını yapılandırır:

ÖzellikTürAçıklama
GraphNameStringAnimasyon grafiği varlığının adı.
CharacterNameStringGrafiğin hedef aldığı rig'in adı.
SourceAssetIdStringGrafiğin yayınlanan Varlık Kimliği. Yayınlanmış oyunlarda çalışma zamanında kullanılır.
IsServerAuthorityBooleanBetik, Workspace.AuthorityMode Server olarak ayarlandığında mı oluşturuldu. Çoğaltma stratejisini belirler.
PreviewInStudioBooleanDoğru olduğunda (varsayılan), Studio oynatma testi, yayınlanmamış grafiği yerel olarak yükler, böylece yayınlamadan iterasyon yapabilirsiniz. Yayınlanmış varlığı Studio'da test etmek için yanlış olarak ayarlayın. Şu anda Enum.AuthorityMode.Server'da bu desteklenmemektedir.

Otomatik modda parametre çoğaltma

Workspace.AuthorityMode Otomatik olduğunda:

  • sahip istemci, oyuncu karakter grafikleri yönlendirir; sunucu, NPC grafiklerini yönlendirir.
  • AnimationTrack:SetParameter() aracılığıyla ayarlanan parametreler otomatik olarak diğer eşlere çoğaltılır. Tek bir çerçevede birden fazla SetParameter çağrısı birleştirilir (son yazar kazanır).
  • Parametre taşımak için ek betik yazımına gerek yoktur — motor, çoğaltmayı dahili olarak yönetir.
  • Diğer istemciler, parametre güncellemelerini küçük bir gecikme ile (bir gönderim aralığı artı ağ gecikmesi) görür.

Sunucu yetkisi

Workspace.AuthorityMode Sunucu olduğunda:

  • sunucu, tüm grafikler için yetkilidir — simülasyonu çalıştırır ve tam grafik durumunu çoğaltır.
  • Ne çoğaltılır: Hem parametreler hem de iç düğüm durumu, geçen süre, mevcut seçimler, geçiş ilerlemesi, döngü sayıları ve RNG tohumları dahil. Bu, tüm istemcilerin aynı animasyon davranışını görmesini sağlar.
  • Oyuncu karakterleri: Sunucu grafiği yönlendirir. Sahip istemcinin RunClient betiği, Animator üzerinde otomatik olarak Enum.PredictionMode'u etkinleştirir, böylece yerel oyuncu pürüzsüz, tahmin edilen animasyonu görür ve sunucu ile uyumsuzluk durumunda uzlaşır.
  • NPC'ler: Sunucu, grafiği yalnızca yönlendirir; istemciler çoğaltılmış durumu gözlemler, yerel simülasyon yoktur.

Parametreleri yönlendirme

Grafiği çalıştıran her betikten AnimationTrack:SetParameter() kullanın:

  • NPC (herhangi bir mod): AnimationTrack'a erişimi olan RunServer'dan SetParameter çağrısı yapın (veya herhangi bir sunucu Script).
  • Enum.AuthorityMode.Server'da oyuncu karakteri: Hem RunServer hem de RunClient'dan SetParameter çağrısı yapın. Sunucunun yetkili simülasyonu yönlendirmek için parametrelere ihtiyacı vardır ve sahip istemcinin yerel tahminini yönlendirmek için aynı parametrelere ihtiyacı vardır.
  • Enum.AuthorityMode.Automatic'da oyuncu karakteri: RunClient'dan SetParameter çağrısı yapın (veya AnimationTrack'a erişimi olan herhangi bir istemci LocalScript).

Oluşturulan Animate betiği, bir başlangıç noktası olarak yorum satırı haline getirilmiş bir SetParameter bloğu içerir. Yorumunu kaldırın ve oyun durumu (hareket hızı, humanoid durumu, giriş yönü vb.) üzerinden parametreleri yönlendirmek için değiştirin.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.