Oyun Kütüphanesi

Coroutine ile Animasyon Sıralama

Animasyon Bağlantıları Unity C# 2
CoroutineileAnimasyonSıralama .cs
C#
using UnityEngine;
using System.Collections;

public class AnimationSequencer : MonoBehaviour
{
    Animator anim;
    // Animator'daki trigger adları
    public string[] triggers = { "Wave", "Jump", "Dance" };
    public float delayBetween = 1.5f;

    void Start()
    {
        anim = GetComponent<Animator>();
        StartCoroutine(PlaySequence());
    }

    IEnumerator PlaySequence()
    {
        foreach (string trigger in triggers)
        {
            anim.SetTrigger(trigger);
            // Animasyonun bitmesini bekle
            yield return new WaitForSeconds(
                GetAnimationLength(trigger) + delayBetween);
        }
    }

    float GetAnimationLength(string stateName)
    {
        RuntimeAnimatorController ac = anim.runtimeAnimatorController;
        foreach (var clip in ac.animationClips)
            if (clip.name == stateName) return clip.length;
        return 1f; // varsayılan
    }
}

Açıklama

Birden fazla animasyonu belirli bir sırayla ve bekleme süreleriyle çaldıran Coroutine tabanlı sekanser.

Etiketler

Coroutine Animasyon Sıralama WaitForSeconds

Nasıl Kullanılır?

1. Animator Controller'da Trigger parametreler oluştur (Wave, Jump, Dance).

2. Bu scripti karaktere ekle.

3. triggers dizisini Inspector'dan veya koddan sırala.

4. delayBetween ile animasyonlar arası bekleme süresini ayarla.

5. Karşılama sahneleri, NPC davranışları için idealdir.

Unity 2022+ ve Unity 6 ile uyumludur.

MonoBehaviour tabanlı scriptleri Assets klasörüne .cs olarak kaydedin.