CodeBlanks Logo Icon CodeBlanks

ECS nedir?

Entity Component System mimarisini öğrenirsin.

ECS nedir?

Entity Component System (ECS), oyun nesnelerini veri ve davranış olarak birbirinden ayıran bir mimaridir. Entity bir nesneyi temsil eder, Component o nesnenin verilerini tutar, System ise bu verileri işler. Bu ayrım, çok sayıda oyun nesnesinin daha düzenli yönetilmesini sağlar.

Entity: Player
Components:
  Position
  Health
  Speed

Entity, sahip olduğu Component birleşimine göre bir Archetype grubunda yer alır.

Entity ve Archetype ilişkisi

Entity tek başına oyun nesnesinin verilerini taşımaz; bu veriler Component öğelerinde bulunur. Aynı Component birleşimine sahip Entity öğeleri aynı Archetype altında gruplandırılır. Örneğin Position ve Health bileşenlerine sahip iki Entity aynı grupta yer alabilir.

Archetype A:
  Position
  Health

Archetype B:
  Position
  Speed

Component birleşimi değiştiğinde Entity farklı bir Archetype grubuna geçebilir.

Uygulama ECS kavramlarını konsola yazdır

ECSIntroduction adlı bir MonoBehaviour sınıfı oluştur. Start metodunda ECS mimarisinin üç temel kavramını ayrı ayrı konsola yazdır: Entity, Component ve System.

Başlangıç kodu

Player.cs
using UnityEngine;

public class ECSIntroduction : MonoBehaviour
{
    void Start()
    {
        // Üç ECS kavramını ayrı ayrı yazdır
    }
}

Örnek çözüm

Player.cs
using UnityEngine;

public class ECSIntroduction : MonoBehaviour
{
    void Start()
    {
        Debug.Log("Entity");
        Debug.Log("Component");
        Debug.Log("System");
    }
}

Beklenen çıktı

Entity
Component
System

Soru ve cevaplar

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

1 ECS mimarisinde oyun nesnesini temsil eden temel kavram hangisidir?

  • System
  • Entity Doğru cevap
  • Archetype
  • Compiler

Açıklama: Entity, ECS mimarisinde bir oyun nesnesinin kimliğini temsil eder. Nesnenin verileri Component öğelerinde saklanır.

2 Entity bileşenlerini tanımla

Soru
Entity: Enemy
Components:
  Position
  ____
Cevap
Entity: Enemy
Components:
  Position
  Health

Açıklama: Health, Enemy Entity nesnesinin sahip olabileceği bir veri bileşenidir.

3 ECS mimarisinin kavramları

Kavram Anlamı
Entity Oyun nesnesinin kimliğini temsil eder
Component Nesneye ait verileri tutar
System Bileşen verilerini işler
Archetype Component birleşimini tanımlar

Uzman bölümündeki tüm dersler