Baked ve realtıme
- Oyun Geliştirme kursu
- Orta seviye
- Ders 10/83
- 4 dk
Baked ve realtıme ışık arasındaki farkı öğrenirsin.
Baked ve Realtime
Işıklar iki şekilde hesaplanabilir: Realtime (gerçek zamanlı) ve Baked (pişirilmiş). Realtime ışık her karede yeniden hesaplanır ve hareket eden nesnelere anında tepki verir. Baked ışık ise oyun başlamadan önce bir kez hesaplanır ve bir lightmap dosyasına yazılır.
isik.lightmapBakeType = LightmapBakeType.Realtime;
isik.lightmapBakeType = LightmapBakeType.Baked;Baked ışık oyun sırasında değişmez ama çok daha hızlı çalışır.
Lightmap
Lightmap, pişirilmiş ışık ve gölgelerin saklandığı dokudur. Baked ışık bu dokuya yazılır ve oyun sırasında sadece okunur. Böylece sahne ne kadar karmaşık olursa olsun ışık hesapları oyunu yavaşlatmaz.
isik.lightmapBakeType = LightmapBakeType.Baked;
// result: Lightmap fileDeğişmeyen nesneler için Baked, hareketli nesneler için Realtime uygundur.
Uygulama Işık modunu ayarla
IsikModu sınıfında public string mod alanını "Realtime" değeriyle tanımla ve int kare alanını ekle. Start metodu içinde mod değerini "Baked" yap ve Debug.Log ile "Pisirme modu: " metnini mod ile birleştirerek yazdır. Update metodu içinde kare sayacını her karede bir artır.
Başlangıç kodu
using UnityEngine;
public class IsikModu : MonoBehaviour
{
// public string mod alanini "Realtime" degeriyle tanimla
// int kare alanini tanimla
void Start()
{
// mod degerini "Baked" yap
// "Pisirme modu: " metnini mod ile birlestirip yazdir
}
void Update()
{
// kare sayacini bir artir
}
}Örnek çözüm
using UnityEngine;
public class IsikModu : MonoBehaviour
{
public string mod = "Realtime";
int kare;
void Start()
{
mod = "Baked";
Debug.Log("Pisirme modu: " + mod);
}
void Update()
{
kare++;
}
}Beklenen çıktı
Pisirme modu: Baked
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Oyun sırasında hareket eden bir karakterin gölgesinin anında değişmesi isteniyorsa hangi ışık hesaplaması kullanılmalıdır?
- Lightmap dosyası
- Ambient ışık
- Realtime ışık Doğru cevap
- Baked ışık
Açıklama: Realtime ışık her karede yeniden hesaplandığı için hareketli nesnelerin gölgeleri anında güncellenir.
2 Işığı pişirilmiş yap
isik.lightmapBakeType = LightmapBakeType.____;
isik.lightmapBakeType = LightmapBakeType.Baked;
Açıklama: LightmapBakeType.Baked, ışığın oyun başlamadan pişirilmesini sağlar.
3 Işık hesaplama türleri
| Kavram | Anlamı |
|---|---|
Realtime ışık |
Her karede yeniden hesaplanır |
Baked ışık |
Oyun başlamadan bir kez hesaplanır |
Lightmap |
Pişirilmiş ışığın saklandığı doku |
Hareketli nesne |
Realtime ışık kullanır |