Oyun Kütüphanesi

Ragdoll Aktifleştirme Sistemi

Etkileşim & Input Unity C# 2
RagdollAktifleştirmeSistemi .cs
C#
// ============ UNITY EDİTÖR ADIMLAR ============
// 1. Karakter hiyerarşisini seç
// 2. Component > Physics > Ragdoll Wizard
// 3. Her kemiği (bone) ata ve Create butonuna bas
// 4. Ragdoll Rigidbody ve Collider'lar otomatik oluşacak
// =============================================

using UnityEngine;
public class RagdollController : MonoBehaviour
{
    Animator anim;
    Rigidbody[] ragdollRbs;
    Collider[] ragdollCols;

    void Start()
    {
        anim = GetComponent<Animator>();
        ragdollRbs = GetComponentsInChildren<Rigidbody>();
        ragdollCols = GetComponentsInChildren<Collider>();
        SetRagdoll(false); // Başlangıçta kapalı
    }

    public void Die()
    {
        anim.enabled = false;
        SetRagdoll(true);
    }

    public void Recover()
    {
        SetRagdoll(false);
        anim.enabled = true;
        anim.Play("Stand Up");
    }

    void SetRagdoll(bool active)
    {
        foreach (var rb in ragdollRbs) rb.isKinematic = !active;
        foreach (var col in ragdollCols) col.enabled = active;
    }
}

Açıklama

Karakter ölünce Animator'ı kapatıp Ragdoll fiziklerini aktifleştiren, tekrar toparlanınca geri dönen sistem.

Etiketler

Ragdoll Fizik Ölüm Animator

Nasıl Kullanılır?

1. Önce yorum satırlarındaki Ragdoll Wizard adımlarını izleyin.

2. Bu scripti karakter root'una ekle.

3. Die() çağırınca ragdoll aktif, Animator kapanır.

4. Recover() ile tekrar animasyon moduna döner.

5. Ragdoll Rigidbody'ler child objelerde olduğu için GetComponentsInChildren kullanılır.

Unity 2022+ ve Unity 6 ile uyumludur.

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