CodeBlanks Logo Icon CodeBlanks

LOD grupları

LOD Group ile mesafeye göre mesh detayını öğrenirsin.

Level of Detail (LOD) nedir?

Bir nesne kameraya çok yakınken binlerce poligon ve detaylı geometri gereklidir; ancak nesne 60 metre uzaktayken bu detayları görmek imkansızdır. LOD (Level of Detail), kameraya olan mesafeye göre modelin daha düşük poligonlu sürümlerini devreye sokan sistemdir.

// Unity LOD Group yapisi:
// LOD 0: 5000 poligon (Yakın mesafe)
// LOD 1: 1500 poligon (Orta mesafe)
// LOD 2: 300 poligon  (Uzak mesafe)
// Culled: 0 poligon   (Çok uzak, çizilmez)

LOD tekniği ekran kartının işlemesi gereken tepe noktası (vertex) sayısını büyük oranda düşürür.

LOD geçişleri ve Culled durumu

Unity'de nesneye eklenen LODGroup bileşeni kameranın ekranda kapladığı alana göre geçiş eşiklerini yönetir. Model ekranda çok küçük bir piksel alanına indiğinde çizim tamamen durdurulur; bu duruma Culled denir.

LODGroup group = GetComponent<LODGroup>();
// lodCount, tanimli LOD seviyesi sayisini dondurur
int levels = group.lodCount;

Bu sayede ufuk çizgisindeki binlerce gereksiz ağaç veya kaya ekran kartını yormaz.

Uygulama Mesafeye göre LOD seviyesi seç

Verilen distance değerini kontrol et: 20'den küçükse "LOD 0", 50'den küçükse "LOD 1", aksi halde "LOD 2" belirle ve Console.WriteLine ile yazdır.

Başlangıç kodu

Player.cs
using System;

class LodSystem
{
    static void Main()
    {
        float distance = 45.0f;
        // Mesafeye gore LOD seviyesini belirle ve yazdir
        
    }
}

Örnek çözüm

Player.cs
using System;

class LodSystem
{
    static void Main()
    {
        float distance = 45.0f;
        string lodLevel;
        if (distance < 20.0f)
            lodLevel = "LOD 0";
        else if (distance < 50.0f)
            lodLevel = "LOD 1";
        else
            lodLevel = "LOD 2";

        Console.WriteLine($"Mesafe: {distance}m - Aktif: {lodLevel}");
    }
}

Beklenen çıktı

Mesafe: 45m - Aktif: LOD 1

Soru ve cevaplar

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

1 Kameradan uzaklaşan bir model için LOD Group bileşeni ne yapar?

  • Sahnedeki tüm ışıklandırmayı devre dışı bırakır
  • Kamera görüş açısını otomatik olarak daraltır
  • Nesneyi fizik motorundan tamamen kaldırır
  • Modelin daha az poligonlu düşük detay versiyonuna geçiş yapar Doğru cevap

Açıklama: LOD Group, nesnenin ekrandaki boyutuna göre basitleştirilmiş mesh modelleri arasında kademeli geçiş sağlar.

2 LODGroup bileşenini al

Soru
LODGroup lodGroup = GetComponent<____>();
Cevap
LODGroup lodGroup = GetComponent<LODGroup>();

Açıklama: Modelin LOD seviyelerini ve geçiş yüzdelerini yöneten bileşen LODGroup'tur.

3 LOD aşamaları

Kavram Anlamı
LOD 0 En yüksek poligonlu ve detaylı mesh
LOD 1 Orta mesafede sadeleştirilmiş mesh
LOD 2 Uzak için en düşük poligonlu mesh
Culled Çok küçük kalınca çizimin kesilmesi

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