Oyun Yapımı : Bir oyun modelinde kaç UVmap olmalı?

Bir oyun modelinde kaç UVmap olmalı?
xantiergürkan yılmaz

Selam.Başlıkta belirttiğim gibi bir oyun modelinde en uygun kaç uvmap kullanılır-olmalı?Örneğin bir karakter en fazla kaç uvmap'den oluşur yada oluşmalı?Bazı komplike modelleri 1 veya 2 uvmap'e sığdıramıyorum,4 veya 5 oluyor bazen.Mümkün olan en az sayıda mı yapmalı?Teşekkür ederim.


2019-09-23 22:39:12
  • Offline
  • Erkek
Hangi modelin kaç materyalden,

Hangi modelin kaç materyalden, ne kadar poligondan oluşacağı tamamen oyundaki yerine göre ölçülür ve kesinlikle ölçülmelidir.

Örneğin FPS bir oyunda, oyuncunun yarım metreden bakabileceği nesneleri, karakterleri yüksek çözünürlüklü texture kullanarak yaratmak mantıklıdır. Ancak onlarca metre yukarıda duran bir kameranın gördüğü nesnelerin yüksek çözünürlüklü olmasına ihtiyaç yoktur. Tümüyle kaynak israfı olur.

Materyal dediğimiz şeyi, GPU'nun farklı ışık, shading modeli altında yüzeyi nasıl render edeceğine dair spesifik bilgiler içeren bir paket olarak düşünebilirsin.

Ekranda görüntülenecek tek bir karenin çizdirilmesi için sahnedeki materyal miktarı kadar çizdirme komutu (draw command) oluşturulur, bu komutların içine objelerin o karede istenildiği gibi görüntülenmelerini sağlayacak tonla veri konur ve GPU'ya upload edilir (drawcall).

Bu da demek oluyor ki sahnede ne kadar az materyal varsa CPU ve GPU arasında da o kadar az alış veriş olacaktır. Bu da performansa doğrudan etki edecektir. Zira CPU'nun sahne veri ağacını taraması, o anda görüntülenen nesleri listeye alması verileri data paketine koyup GPU'ya upload'ı oldukça külfetlidir. Ancak bir noktaya kadar bunun külfetini farketmeyiz.

Günümüz oyunlarında karede 6000 drawcall ve 15 milyon poligon civarı bir sahne orta karar bir ekran kartında 16.6ms'de ekrana çizdirilebilir. Tabi bu rakamlar tümüyle afakidir ve hazırlanmış bir test sahnesi için geçerli olacaktır.

Zira gerçek bir oyunda oyun motoru aynı zamanda CPU ile fizik hesaplıyor, GPU partikül efektleri için compute ya da opencl çalıştırıyor, ses işliyor, müzik buffer'ı ilerletiyor, garbage collector çalıştırıyor olabilir.

Acemi oyun geliştiricileri genellikle bunları ve benzeri daha tonla şeyi pek dikkate almaz, profiler denen ölçüm araçlarını da kullanmazlar. Bu nedenle oyunları bekledikleri performansı vermeyince suçu motora atarlar.

Bir model çizeri olarak senin oyun modeli hazırlama konusunda her zaman ölçülü olman gerek. The Witcher 3 Wild Hunt'da Geralt of Rivia karakterinin LOD0 modelini çiziyorsan muhtemelen 30bin poligon 3-4 materyal çalışabilirsin. Ama iki km uzakta silüet olarak görüntülenecek LOD5 ağaç için bir iki poligon ve tüm ağaçlar için tek materyal yeterlidir.

Yani senin anlayacağın durum ürettiğin şeyin nerede kullanılacağına bağlı olarak değişir.

Genel geçer low-poly karakter 5000-6000 poligon iki materyal, low-poly basit objeler 500-2500 poligon tek materyal olabilir. Sketchfab.com gibi model sitelerinde görüntülediğin modelin kaç poligona, materyale sahip olduğunu görebilirsin. Benzer bir model üreteceksen yardımcı olacaktır.


2019-09-24 03:16:48 Edit:2019-09-24 03:18:41
  • Offline
  • Erkek
Teşekkür ederim.
xantiergürkan yılmaz

Teşekkür ederim.


2019-09-24 10:28:56
  • Offline
  • Erkek