Çözüldü Unity3D point light gölgeleri aşırı vertex artışına sebep oluyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Saldon

Kilopat
Katılım
22 Aralık 2018
Mesajlar
146
Çözümler
3
Yer
Hatay
Daha fazla  
Sistem Özellikleri
Ekran çözünürlüğü: 2560x1440 @ 164Hz
Pencere boyutu: 2560x1307 @ 164Hz
VR: Not Active
Graphics API: Direct3D 11.0 (Level 11.1)
GPU: NVIDIA GeForce RTX 4060
VRAM: 7957MB
Max Texture Size: 16384px
Shader Level: 50
CPU: AMD Ryzen 9 5900X 12-Core Processor (24 thread)
RAM: 32,869 MB (32 GB)
İşletim Sistemi: Windows 11 (10.0.26100) 64bit (Desktop)
Cinsiyet
Erkek
Meslek
Oyun Yapımcısı
Merhaba,
Unity 2021+ (built-in render pipeline) kullanıyorum ve oyunuma gerçek zamanlı gece-gündüz döngüsü entegre ettim. Ancak akşam ışıkları açıldığında çok ciddi bir vertex ve triangle artışı yaşıyorum.

🔍 durum:​


  • Gündüz (ışıklar kapalı): 2.5 milyon vertex
  • Gece (ışıklar açık): 13 milyon vertex

💡 tahminim:​


Bu artışın nedeni sahnede bulunan point light objelerinin gölgelerinin hesaplanması. Bildiğim kadarıyla Unity, point light için cubemap tabanlı Shadow mapping kullanıyor (6 yönde ayrı render).

Ancak bu kadar dramatik bir vertex artışı bana fazla geldi. Unity sahneyi gölgeler için tekrar tekrar mı render ediyor? Bu noktada optimizasyon açısından ne yapabileceğimi tam kestiremiyorum.



❓ sormak istediğim:​


  1. point light gölgeleri sahneyi gerçekten 6 kez mi render ediyor?
    (Her ışık başına 6 Shadow Pass mı?)
  2. Bu vertex artışını minimum görsel kayıpla nasıl optimize edebilirim?
    • Point light gölgelerini tamamen kapatmadan çözüm var mı?
    • Sahte gölgeler yönlü ışıkla uyumlu hale getirilebilir mi?
    • Uzak objelerde Shadow culling gibi teknikler önerir misiniz?
  3. directional light gibi sadece 1 Shadow map ile çalışan bir sistem, point light için simüle edilebilir mi?
  4. Bu sorunla daha önce karşılaşanlar nasıl bir yol izledi?



🔧 ek bilgi:​


  • Render pipeline: built-in
  • Işık sistemi: Gece/gündüz döngüsü → directional + point light aktif.
  • Gölgeler: Realtime Shadows aktif, medium ayarda.
  • Objeler: Geneli static , gökyüzü dinamik sistem.



Her türlü görüş, çözüm ve deneyim paylaşımına açığım.
FPS düşüşünü minimize edip görsellikten çok fazla taviz vermeden ilerlemek istiyorum.
Biz 2025 girdik ama Unity hala bu problemi çözemedi.
Önereceğiniz bir assest paket olursa da bakabilirim.
Ek olarak şu anda optimizasyon yaptığım hali bu şekildedir.
Lod paketi satın almıştım yoksa 32 33m vertse kadar çıkış yapıyor.

Teşekkürler!
 

Dosya Ekleri

  • Ekran görüntüsü 2025-05-22 213807.png
    Ekran görüntüsü 2025-05-22 213807.png
    1,2 MB · Görüntüleme: 29
  • Ekran görüntüsü 2025-05-22 213820.png
    Ekran görüntüsü 2025-05-22 213820.png
    1,2 MB · Görüntüleme: 22
Son düzenleme:
Çözüm
Kanka, bari bir iki cümle yazdırsaydın ChatGPT'ye.
Knka ona takılmasaydın :)
Bana çözüm lazım.

Cevap gelemese de ben konuyu farklı bir yöntem ile çözdüm arkadaşlar.

Bir tane pointlight alın ve gölgesi felan kapatın.
Onun içine bir tane spotlight ekleyin ve açısını iyice genişletip gölgeyi aktif edin.
Gölge olayı için 60 metre izin sağlayın veya 100 size kalmış.
Unity assest mağazasından optimizers2 paketini satın alıp ondan faydalanabilirsiniz.
Bunu yapmamızın sebebi ise pointlight 6 defa render alır ve 360 shadowmap oluşturur.
Spotlight ise 1 shadowmap alır ve sadece 1 kere render alır.
Kanka, bari bir iki cümle yazdırsaydın ChatGPT'ye.
Knka ona takılmasaydın :)
Bana çözüm lazım.

Cevap gelemese de ben konuyu farklı bir yöntem ile çözdüm arkadaşlar.

Bir tane pointlight alın ve gölgesi felan kapatın.
Onun içine bir tane spotlight ekleyin ve açısını iyice genişletip gölgeyi aktif edin.
Gölge olayı için 60 metre izin sağlayın veya 100 size kalmış.
Unity assest mağazasından optimizers2 paketini satın alıp ondan faydalanabilirsiniz.
Bunu yapmamızın sebebi ise pointlight 6 defa render alır ve 360 shadowmap oluşturur.
Spotlight ise 1 shadowmap alır ve sadece 1 kere render alır.
 
Son düzenleyen: Moderatör:
Çözüm

Technopat Haberler

Yeni konular

Geri
Yukarı