Dissolid

Üye
18 Şub 2019
30
4
8
30
(6) Ankara
fatihbasol.com
Merhabalar gene bir soru ile geldim.

Elimde oluşturulmuş bir texture atlas var. Bunu yapan kişi şöyle bir yol izlemiş. Tek materyalde Kanepeler(3lü 2li ve tekli) dolaplar ve televizyonu bir arada bake etmiş ve tek materyal ile bu kadar objeyi birleştirmiş(Texture atlas oluşturmuş). Bu texture atlas'da 8-9 obje var ve bu materyale LivingRoom adını vermiş. Bu bake edilen objeler adından da anlaşılacağı gibi evin bir odası ve kaba bir hesaplamayla oyunda 100 tane farklı lokasyonlarda ev olsa adam bunların 50 sinde bu texture atlas'ı kullansa çok mantıklı kulağa hoş gelen bir durum var. Çünkü tek bir materyalden 50 ev için o kadar da uğraşmadan kolay yoldan işini halletmiş.

Fakat benim takıldığım sorular var.

1- Neden bu kadar objeyi tek bir materyalde pack etmiş(hepsi için ayrı ayrı texture kullanmak yerine) ? 
2- Optimizasyon konusu ile alakalı mı yoksa çok kullanılan bir teknik mi ?
3- Avantajı ve dezavantajı nedir ?
4- Biz neden kullanalım, Ne zaman kullanalım?
5- Bu objeleri tek bir uv mape sığdırmak materyalin kalitesini düşürüyor. Texture atlas oluşturarak neden kaliteden vazgeçelim?

Bu soruları soruyorum çünkü aynı texture atlası ben oluştursam objelerin kalitesi haliyle düşüyor. Kabaca bişeyleri anladım fakat hani kaliteden fire verelim ama işimiz hemen hallolsun hızlıca halledelim gibi bir mantıkla mı yapılıyor bu texture atlaslar. Bence o amaçla yapılmıyordur ama gene merak ettim. Biraz fazla yazdım umarım kafa karışıklığı olmamıştır.

Şimdiden teşekkürler.
 
Atlas optimizasyon amaçlı, performansın öncelikte olduğu projelerde kullanışlı olur. Mobil için çok avantajlı ama PC için her durumda değil. Örneğin bir PC oyunu için bir odadaki tüm objeleri tek texture içinde toplarsan 1080p'de içine sinecek kalitede birşey çıkartmak için o texture'ın en az 8k gibi bir boyutta olması gerekli(4k sistemler için bu durmda 8k asla kurtarmaz objelerin ekranda kaplayacağı alanı hesaba katarsak) ve odanın neresine bakarsan bak o 8k'lık texture hesaplanacağı için performans maliyeti daha da artacak. Ambient Occlusion, Roughness ve Metallic texture'larını tek bir texture'ın RGB kanallarında tuttuğun sürece her bir veya birkaç objeye(mesela tüm oda yerine 2 koltuk setini tek texture'da toplamak gibi) ayrı texture kullanmakta bir sakınca yok. Platform, sahne kalabalığı, kameranın kullanılış şekli(oyun veya uygulama FPS mi yoksa third person mı) gibi etkenleri hesaba katmak lazım tabi.
 
Jacky' Alıntı:
Atlas optimizasyon amaçlı, performansın öncelikte olduğu projelerde kullanışlı olur. Mobil için çok avantajlı ama PC için her durumda değil. Örneğin bir PC oyunu için bir odadaki tüm objeleri tek texture içinde toplarsan 1080p'de içine sinecek kalitede birşey çıkartmak için o texture'ın en az 8k gibi bir boyutta olması gerekli(4k sistemler için bu durmda 8k asla kurtarmaz objelerin ekranda kaplayacağı alanı hesaba katarsak) ve odanın neresine bakarsan bak o 8k'lık texture hesaplanacağı için performans maliyeti daha da artacak. Ambient Occlusion, Roughness ve Metallic texture'larını tek bir texture'ın RGB kanallarında tuttuğun sürece her bir veya birkaç objeye(mesela tüm oda yerine 2 koltuk setini tek texture'da toplamak gibi) ayrı texture kullanmakta bir sakınca yok. Platform, sahne kalabalığı, kameranın kullanılış şekli(oyun veya uygulama FPS mi yoksa third person mı) gibi etkenleri hesaba katmak lazım tabi.

Anladım. O zaman bu teknikler proje bazında kararlaştırılacak teknikler. Modeli oluşturdum texture'lar da hazır ver materyali üstüne koy oyuna gitsin gibi bi düşünceyle yapılmaması gerekiyor. Yani en azından öyle olacaksa da duruma göre yapılması lazım. Teşekkürler  :shy: