Branch (Koşul Dalı)
Unreal Engine programlamanın en temel karar mekanizmasıdır. Kendisine iletilen Boolean (True / False) değerini değerlendirerek oyunun yürütme akışını iki farklı yoldan birine yönlendirir.
Kategori: Flow Control
Zorluk: Başlangıç
C++: if (Condition) { ... } else { ... }
YouTube Video Dersi (#01)
İnteraktif Blueprint Grafiği & Kopyalanabilir Kod
Aşağıdaki grafikteki node'ları sağ üstteki "Copy Nodes" butonuna basarak kopyalayabilir ve doğrudan Unreal Engine 5 editörünüzde Blueprint Graph içerisine Ctrl+V ile yapıştırabilirsiniz:
Giriş ve Çıkış Pinleri
| Pin Adı | Yön | Veri Tipi | Açıklama |
|---|---|---|---|
| (Exec In) | Giriş | Exec (Beyaz) | Koşul kontrolünü başlatan yürütme sinyali. |
| Condition | Giriş | Boolean (Kırmızı) | Değerlendirilecek mantıksal ifade (True veya False). |
| True | Çıkış | Exec (Beyaz) | Condition değeri True ise tetiklenen akış. |
| False | Çıkış | Exec (Beyaz) | Condition değeri False ise tetiklenen akış. |
Kullanım Senaryoları
Bu derste tanımlanan Name değişkeni, Equal (EqualEqual_NameName) operatörü ile "Hasan" değerine eşit mi diye denetlenir. Eğer eşitse (True) ekrana "Evet, o Emir" yazdırılır; değilse (False) "Hayır, o Emir değil" mesajı basılır.
- Değişken / İsim Doğrulama: Oyuncu adı, NPC kimliği veya diyalog durumlarının kontrol edilmesi.
- Can & Ölüm Kontrolü:
Health <= 0durumunda oyuncunun ölüm animasyonunu başlatmak. - Envanter & Eşya Sorgusu: Kapıyı açmadan önce oyuncunun çantasında
HasKey == trueolup olmadığını denetlemek. - Yetki (Multiplayer Authority): Çok oyunculu mimarilerde
HasAuthoritykontrolü ile mantığı sunucu ve istemci tarafında yönlendirmek.
Sık Yapılan Hatalar
- Ağır Tick Hesaplamaları: Condition pinine her karede (Event Tick) ağır matematiksel fonksiyonlar bağlamak CPU performansını olumsuz etkiler; olay tabanlı (Event-driven) mimari tercih edilmelidir.
- Çift Tetikleme (Double Execution): True ve False kollarını kontrolsüzce aynı yürütme hattına tekrar bağlayarak fonksiyonun iki kez çalışmasına sebep olmak.
- Null / Geçersiz Nesne Kontrolü: Nesne referanslarını kontrol ederken standart Branch yerine doğrudan
IsValidnode'u kullanmak daha güvenli ve pratiktir.