CodeBlanks Logo Icon CodeBlanks

Diyalog veri modeli

Diyalog düğümü ve çizgi veri modelini öğrenirsin.

Diyalog Veri Modeli

Bir diyalog sisteminin temelinde konuşma satırlarını temsil eden veri modelleri yer alır. Her bir replik (line); konuşmacının adını (speaker), söylenen metni (text) ve gerekirse ses klibini içerir.

[System.Serializable]
public class DialogueLine {
    public string speaker;
    public string text;
}

C# sınıflarının başına [System.Serializable] eklenerek bu verilerin Inspector'da görünmesi ve JSON formatına dönüştürülebilmesi sağlanır.

Diyalog Düğümleri (Dialogue Node)

Bir sahnede sıralı birkaç replik bir araya gelerek bir Dialogue Node (konuşma düğümü) oluşturur. Düğüm bir kimlik numarası (id), replik listesi ve sonraki düğümün kimliğini (nextId) tutar.

[System.Serializable]
public class DialogueNode {
    public int id;
    public List<DialogueLine> lines;
    public int nextId;
}

Bu düğüm yapısı sayesinde diyaloglar bloklar halinde organize edilir ve akış sırası yönetilir.

Uygulama Diyalog satırı modeli

Bir Start metodu tanımla. İçinde string speaker = "Rehber"; tanımla ve konsola "Konusmaci: " + speaker metnini Debug.Log ile yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class DialogueModelTester : MonoBehaviour
{
    // Start icinde speaker degiskenini tanimla ve yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class DialogueModelTester : MonoBehaviour
{
    void Start()
    {
        string speaker = "Rehber";
        Debug.Log("Konusmaci: " + speaker);
    }
}

Beklenen çıktı

Konusmaci: Rehber

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir diyalog satırı veri modelinde en temel olarak hangi iki bilginin tutulması gerekir?

  • Fizik çarpışma katmanı ve ses mikseri
  • GPU çekirdek hızı ve RAM boyutu
  • Konuşmacı adı ve replik metni Doğru cevap
  • Ekran çözünürlüğü ve shader kodu

Açıklama: Bir diyalog repliğinin kime ait olduğunu ve ekranda ne yazacağını bilmek için konuşmacı adı ve metin alanları esastır.

2 Serileştirilebilir diyalog satırı

Soru
[System.____] public class DialogueLine { public string text; }
Cevap
[System.Serializable] public class DialogueLine { public string text; }

Açıklama: Unity'de veri modelinin serileştirilebilmesi için '[System.Serializable]' niteliği kullanılır.

3 Diyalog modeli terimleri

Kavram Anlamı
DialogueLine Tek bir replik ve konuşmacı verisi
DialogueNode Replikler grubunu tutan konuşma düğümü
speaker Sözü söyleyen karakterin adı
nextId Akışın devam edeceği düğüm kimliği

İleri seviye bölümündeki tüm dersler