CodeBlanks Logo Icon CodeBlanks

Lightmap pişirme (bake)

Lightmap pişirme (bake) sürecini ve Static flag'ini öğrenirsin.

Static işareti

Lightmap pişirmek için nesnelerin Static olarak işaretlenmesi gerekir. Static bir nesne oyun sırasında hareket etmez; Unity böyle nesnelerin ışık ve gölgelerini önceden hesaplayabilir. İşaretleme, Inspector'daki Static kutucuğuyla ya da kodla yapılır.

gameObject.isStatic = true;
// object is now Static

Hareket eden nesneler Static yapılmaz.

Pişirme (bake) süreci

Pişirme işlemi, Lighting penceresindeki Generate Lighting düğmesiyle başlatılır. Unity, Static nesnelerin ışık ve gölgelerini hesaplayıp lightmap dosyalarına yazar. Bu işlem sahnenin büyüklüğüne göre biraz zaman alabilir.

// Window > Rendering > Lighting
// Generate Lighting > Lightmap files

Pişirme tamamlanınca sahnedeki ışık oyun boyunca sabit kalır.

Uygulama Bake adımını say

BakeAdimi sınıfında string islem alanını "Bake" ve int adim alanını 1 değeriyle tanımla. Start metodu içinde adim değerini bir artır ve Debug.Log ile "Islem: ", islem, " Adim: " ve adim parçalarını birleştirerek yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class BakeAdimi : MonoBehaviour
{
    // string islem alanini "Bake" degeriyle tanimla
    // int adim alanini 1 degeriyle tanimla

    void Start()
    {
        // adim degerini bir artir
        // "Islem: " + islem + " Adim: " + adim biciminde yazdir
    }
}

Örnek çözüm

Player.cs
using UnityEngine;

public class BakeAdimi : MonoBehaviour
{
    string islem = "Bake";
    int adim = 1;

    void Start()
    {
        adim++;
        Debug.Log("Islem: " + islem + " Adim: " + adim);
    }
}

Beklenen çıktı

Islem: Bake Adim: 2

Soru ve cevaplar

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

1 Oyun içinde hareket etmeyen ve ışığı önceden hesaplanmak istenen bir nesne için hangisi doğrudur?

  • Static olarak işaretlenir ve Baked ışık kullanılır Doğru cevap
  • Gölgeleri None olarak ayarlanır
  • Işık türü Spot olarak ayarlanır
  • Realtime ışık kullanılır ve nesne hareketli kalır

Açıklama: Static nesneler oyun sırasında hareket etmez; bu yüzden ışıkları önceden pişirilebilir.

2 Nesneyi Static yap

Soru
gameObject.____ = true;
Cevap
gameObject.isStatic = true;

Açıklama: GameObject'in Static durumu Unity'de isStatic özelliği ile ayarlanır.

3 Pişirme adımları

Kavram Anlamı
Static Oyun sırasında hareket etmeyen nesne
Generate Lighting Pişirmeyi başlatan düğme
Bake Işığın önceden hesaplanması
Lightmap dosyaları Pişirme sonucu oluşan dosyalar

Orta seviye bölümündeki tüm dersler