in , , , ,

ETS 2 & ATS – Kaputun Altında: 1.40 Yeni Görsel Aydınlatma Sistemi (Türkçe Çeviri)

SCS Software tarafından yayınlanan Kaputun Altında: Yeni Aydınlatma Sistemi blog yazısının tam Türkçe çevirisini sizlerle paylaşıyoruz. Bu yazı ile birlikte 1.40 güncellemesinde ETS 2 ve ATS için getirilen yeni görsel ışıklandırma sisteminin nasıl çalıştığını, nelerin değiştirildiğini ve yenilendiğini direkt geliştiricilerinin kaleminden çok daha iyi anlayacaksınız.


Hem American Truck Simulator hem de Euro Truck Simulator 2 için 1.40 güncellemesiyle sunduğumuz değişiklikler, halen devam etmekte olan Açık Beta sürümlerinde bir süredir zaten siz oyunseverlere açık şekildeydi. Şimdiye kadarki en önemli değişiklik, yıllar içinde bizim için en büyük grafiksel yenileme haline gelen yeni aydınlatma sistemi oldu. Bu blog yazımızda, bu değişikliğin gerçekleşmesi için neler yaptığımız hakkında daha fazla bilgi vermek istiyoruz. Şimdi kaputun altına yeniden bakma zamanı…

 


Işıklar!

3B oyun motorumuzun sahnedeki ışık ve renkleri yansıtma şekli ve ekranda karşınıza çıkan render işlemleri yaklaşık on yıl önceki dönemde tasarlanmıştı. O dönem, en son teknolojinin 0-255 sayısal aralıktaki tüm RGB değerlerini bir bayt değeri içine sığacak şekilde temsil ettiği bir dönemdi. Bir tasarım haritasında(texture map, texel ) (3B bir nesnenin, bir ağacın, aracın veya gökyüzünün “dış görünümü”) veya bir ışık kaynağının yoğunluğunun kodlanmasında (bir aracın arka lambalarından sokak lambaları ve güneş yoğunluğuna kadar) ve tüm bunların render aşamasında bir pikselde birleştirilmesi her bir temel rengin yalnızca 256 tonuyla ekranda gösterilebilen ekrana yansıtılmasıydı(ayrıca bkz. buffers) .

Son yıllarda, 3B hızlandırıcılarda kullanılabilen bellek miktarının aşırı yükselmesi, hesaplama gücündeki ilerleme ve 3B kartların parçalar(fragments) üzerindeki işlemlerini programlamak için gölgeleme dillerinde esneklik, renk ve ışık değerlerini çok daha yüksek hassasiyet ve aralıkta depolamanın(floating point) ve hesaplamayı mümkün hale getirdi. Esasen renk başına 8 bitlik bileşen çağında sahip olduğumuz tüm püf noktalardan olan renk filtresi işlemlerini katmanlamak yerine gerçek sayıları kullanmaya geçiş, bir oyun motorunun ışık kaynaklarını gerçekçi aralıklar ve oranlarda nasıl temsil edebileceği konusunda devrim niteliğindedir. Gerçek dünyada, bir ampulün ışık yoğunluğu ile güneş ışığı arasındaki büyük farklar vardır. Işık kaynaklarının yoğunluk değerlerini düzgün bir şekilde yansıtabilir ve daha da önemlisi tüm ışık ve yüzey işlemlerini uygun değer aralıklarında büyük bir hassasiyet kaybı olmadan gerçekleştirebilirsek, gerçeğe yakın bir yüksek dinamik aralıklı (HDR) görüntüleme yapabiliriz. Yaklaşık 18 ay önce yeni tekniği denemeye başladığımızda ve ilk sonuçları gördüğümüzde, bizim için artık geri dönüş yoktu ve bunu oyun motorlarımızda mutlaka uygulamak istiyorduk.


Neler yeni?

Işık kaynakları ile başlamalıydık (ve bir süre bunun yeterli olacağından umutluyduk). Artık her bir ışık kaynağı, gerçek dünyadaki ölçümlerinden (çeşitli gün ışığı ve hava ayarları üzerinde bir ışık ölçer(light meter) ile ton örneklemesi yaptık) ve referans tablolarından elde edilen gerçekçi bir değerle tanımlanmıştı. Bundan böyle oyun dünyasında olduğu gibi gerçekte de on binlerce lux lumen birimi(ışık birimi olarak) artık gündüz sahnelerini aydınlatırken, geceleri ortam parlaklığı sadece birkaç lux/lumen birime yaklaşıyor. Tüm ışık kaynağı değerlerini gerçeğe dayandırmak, sisteme yeni bir ışığın sığacağı eski günlerin aksine bize çok daha fazla güven verdi. Değerlerin gerçek bir anlamı olmayan 150 veya 170 olması artık sorun olmaktan çıktı. Artık bir benzin istasyonunda bir sokak lambası veya bir neon ışık seçebileceğimiz bir skalamız var. Işık hesaplama formüllerinde, ışıkların fiziksel olarak doğru bir şekilde yansımasını sağlamak için artık uygun ikinci dereceden ışın zayıflatması(attenuation) uygulayabiliyoruz. Daha yüksek hassasiyetlerde bir caddenin gece hissini doğal olmayan bir şekilde aynı lambalara sahip olmadan daha iyi bir şekilde simüle edebilecek ancak mümkün olmadığında aynı olan ışık kaynaklarına ışık yoğunluğunda küçük bir rastgele varyasyon oluşturmaya kadar gidebiliyoruz.

Tüm dahili ışık hesaplamaları yapıldığında, bakış açısını yansıtarak ekran(camera exposure) için ortaya çıkan değerleri ayarlamamız gerekiyor. Cep telefonunuzdaki modern bir kamera gibi, gelen ışığın tüm zengin değerlerini ve çeşitliliğini (güneş veya gölge, sabahın erken saatleri, öğlen, akşam karanlığı veya zifiri gece) almalı ve değerleri ekran için uygun aralığa “sıkıştırmalı” veya “genişletmeliyiz”. Poz emülatör sistemimiz, oyunun son görünümü ve hissi üzerinde kritik bir etkiye sahiptir – bu etki kısmen fizik, ama aynı zamanda kısmen öznel bir estetik hisle de ilgilidir. Sadece oyun dünyasından gelen ışığa göre dinamik olarak ayarlanması değil, aynı zamanda gösterge paneli araçlarının okunabilir olmasını sağlamak için aracın kabininin içindeki ve dışındaki ışık miktarı arasındaki farkı da hesaba katmak gerekiyor. İnsan gözü, odak nesneler arasında değişirken çok çeşitli ışık yoğunluklarını ayarlayabilen ve bunlara uyum sağlayabilen inanılmaz bir organdır. Tüm bu değerleri ekranın kaçınılmaz olarak sınırlı dinamik aralığına ve renk gamına(color gamut) sığdırmak için her kare için ışık histogramını(histogram) analiz ederken ve çerçeveler arasında çok fazla üst düzey matematik kullanmak zorunda kaldık ki ekrana yansıtılan her şeyi hem inandırıcı hem de ayırt edilebilir kılmak istedik. Küp haritalarının(cube maps) kayan nokta sınırlarının dahili aralığı ile su kütleleri, cam veya araba boyası gibi parlak yüzeylerden çok daha parlak yansımalara sahip olabileceğimiz gerçeği gibi bazı iyileştirmeler de işin cabasıydı. İlk elde edilen sonuçlar umut verici olsa da, tüm oyun nesnelerindeki TÜM mevcut malzemeleri/dokuları yeniden dengelemeden bunu başaramayacağımızı anlayana kadar bu geliştirme yolunu küçük ekibimizle mutlu bir şekilde takip ettik. Herhangi bir nesnenin yüzeyine bir ışık ışını düştüğünde, yansıyan veya kırılan sadece gelen ışığın özelliklerine değil, büyük ölçüde nesnenin yüzeyinin özelliklerine bağlıdır. Yıllar süren geliştirme sürecinde, bazıları çeşitli ortamlardaki fotoğraf kaynaklarından, bazıları elle renklendirilmiş, bazıları çeşitli akıllı araçlarda prosedürel üretim sürecinden(procedural generation) geçmiş on binlerce yeni doku ve yüzey biriktirdik. Yıllar geçtikçe, bu kaynakların yazımı çeşitli düşünce tarzlarına veya farklı tasarımcılara konu oldu, ancak “eski ışık” sistemi her zaman daha ön planda tutuldu ve mevcut dengesizlikler her halükarda kesinliği netleştirecek düzeydeydi. Yeni poz(exposure) emülasyon sistemi çok daha hassas çalışıyor ve temelde fiziksel olarak doğru parlaklık ve beyazlık(albedo) değerleri gerektiriyor. Beton yüzeyimiz artık bir çeşit gri renkte olamaz ve ağaçlar sadece güzel ve yeşil görünemez. Ve bu, sanat yönündeki ekibimizin büyük çoğunluğunun büyük bir revizyon için dahil olması gerektiği zamandı.


Nelerin değiştirilmesi gerekiyordu?

Öncü ve disiplinler arası çalışabilen küçük ekibimiz, gerekli tüm kod ve GPU gölgelendirici değişikliklerini(shader changes) uyguladığında, aylarca süren deneyler sonucunda, çok daha fazla insanı dahil etmemiz gerekmişti. İlk olarak, oyundaki tüm ışık kaynaklarını ve tüm araç ışıklarını yeni mantığa göre yeniden ayarlamamız gerekiyordu. Bazı durumlarda, skalanın herhangi bir yerinde nispeten önemsiz bir sayısal dönüşüm yapmamız gerekti. Diğer bazı durumlarda ise, manuel ayarlamayı yapmak için bir harita tasarımcısının belirli bir konumu tekrar ziyaret etmesini gerektirmekteydi. Çoğu durumda, önceden tanımlanmış ışık kaynaklarına sahip bir fabrika veya teslimat bölgesi gibi bir oyun nesnesinin Maya gibi bir 3B araçta yeniden ele alınması, ayarlanması ve yeniden dışa aktarılması gerektiği anlamına geliyordu. Bazı durumlarda sadece birkaç düzine “sayı” tanımlayan ışığı değil, aynı zamanda daha iyi bir görünüm için sahte gölgelerin ve ışık efektlerinin “iç içe geçirildiği” nesnelerin ışık haritalarında(lightmaps) büyük değişiklikler içeren eski ışık sistemindeki binlerce ve on binlerce rötuştan bahsedebiliriz. Son olarak, birkaç hafta boyunca, tüm ekiplerimizin çoğunluğu gelecekteki projelerimizle ilgili başka herhangi bir şey üzerinde çalışmayı bırakmak ve tüm oyun nesnelerini, bitkileri, araçları ve efektleri gözden geçirmek zorunda kaldı ve üzerinde mutabık kalınan ortak bir beyazlık referans skalasını senkronize etmek için nesneleri tekrar tekrar dengeledik. Pek çok alt sistemin temellerini yeniden gözden geçirmek zorunda kaldık, özellikle de çeşitli gün ışığı ayarlarında iyi görünmelerini sağlamak için birçok yineleme ve ince ayar yapan araç lambaları ve ampulleri. Daha yüksek çözünürlükte yeni bir skybox setimiz ve biraz daha zengin bir hava durumu çeşitliliğimiz var. Sonuçta, oyunların her bir unsurunu değerlendirmemiz ve ayarlamamız gerektiğinden dokunmadığımız nokta kalmadı.



Bütün bunların anlamı ne?

Yeni ışık sistemi ve yeni fiziksel ışık modelimizin başlangıcı, oyunlarımızda tüm dünyanın eksiksiz ve daha iyi bir fiziksel modeline doğru atılmış kritik bir adımdır. Henüz gerçek fiziksel tabanlı işlemeye(PBR physically based rendering) tam olarak varmış değiliz, ancak 1.40 güncellemesi doğru yönde atılmış büyük bir adımı temsil ediyor. Eski tasarımı temizlemek ve tüm ışık yoğunluklarını ve işlemleri temel fiziğe dayandırmak, bu alanda gelecekteki sistematik çalışmaları artık mümkün kılıyor. Uzun vadeli geliştirmede sürecindeki pek çok şeyde olduğu gibi, bu adım küçük bir devrim olsa da, aynı zamanda daha büyük bir vizyona yönelik sadece bir kilometre taşıdır.

Grafik sanatçılarının bakış açısından (ancak bu mod yapımcıları için de geçerlidir!), tüm oyun sanatını “kontrol altında” ve sanatın geri kalanıyla dengede tutmak için yeni bir konsept getiriyoruz. Oyun içi sanat kaynağı olarak sıklıkla kullanılan fotoğraflara dayalı malzemeler, artık uygulanmadan önce bir kalibrasyon sürecinden geçmek zorunda, aksi takdirde oyuncular ya çok karanlık ya da çok parlak bir yüzeye sahip olabilir ve bu da genel sahnenin algılanması açısından pozlamayı ve görüntüyü etkileyebilir. Genellikle, Substance Designer gibi araçlarda yüksek çözünürlüklü prosedür oluşturma gibi alternatif nesne oluşturma yöntemlerini keşfetmek önemlidir. Modellere ince gölgeler ve ışık efektleri eklemek ve bunları taklit etmek yerine, motorun render sistemine artık daha fazla yük veriliyor. Yeni ışık ve SSAO arasında, gölgelendirici (shader) kodumuz artık son görünümü oluşturmada daha büyük bir rol oynuyor, bu da biraz daha az sorumluluk, kontrol ve muhtemelen sanatçının başka noktalarda çalışmasına yardımcı oluyor. Bu durum, her durumda ayrı olmak üzere neyi başarmaya çalıştığına bağlı olarak hem iyi hem de kötü olabilir.

Her büyük değişiklikte olduğu gibi, bir ton basit problemimiz de vardı, sorunları tersine çevirmek için birçok çıkmaza girdik ve harcadığımız çaba bir yıl önceki beklentilerimizin çok ötesine geçti. Son birkaç pürüzü gidermek için hala önümüzde Açık Beta versiyonu var. Ancak şimdiden değişikliklerin tüm sıkı çalışmalarımıza değeceğinden çok eminiz. Kamyonunuzu sabahın erken saatlerinde İtalya kıyılarında veya güzel bir öğleden sonra İsveç’te, çiseleyen yağmurda Washington’da, öğle vakti kavururken İspanya’da veya gecenin zifiri karanlığında iyi aydınlatılmış bir kamyon durağına girene kadar sabırla beklemenizi rica ediyoruz. Tüm değişiklik süreci boyunca, CPU veya GPU üzerindeki yükte büyük bir artışa neden olmamak için elimizden gelenin en iyisini yapmaya çalıştık. Yeni efektlerden birkaçı biraz daha yüksek performans gerektirmektedir ancak genel olarak, değişikliklerin çok iyi dengelendiğine veya performansı kabul edilebilir tutmak için oyun seçeneklerinde mantıklı değişikliklere izin verdiğine inanıyoruz. Grafik efektlerini çok zorlayarak en yeni donanımı olmadan oyunlarımızı oynayan oyuncuları ve hayranlarımızı kesinlikle kaybetmek istemiyoruz. Size daha fazla iyileştirme ve yeni özellik sunmayı dört gözle bekliyoruz, bu yüzden direksiyonlarınız sıkı tutun!


Değişiklik listesini merak mı ediyorsunuz? Şunlara göz atın:

Büyük değişiklikler

Oyun sahneleri gerçek yaşam yoğunlukları kullanılarak aydınlatılıyor (Aydınlatma: gündüz on binlerce lux(lumen), gece onbinlerce lux birim olmak üzere)

  • Işık oranlarını devreye sokuyoruz – doğan güneş, sokak lambası ışıklarını ve kamyon farlarını vs. etkisiz hale getiriyor. Bu, tüm ışık kaynaklarını ayarlamamız ve ayrıca oyundaki her ışık kaynağı nesneyi yeniden ayarladığımız anlamına geliyor.

Daha estetik kontrol sağlamak için yeni bir ekran haritalama işlevimiz var (pozlama, kontrast, dip ve uçlar)

  • Bu gerçek yaşam yoğunluklarını, bir kameranın pozunun çalışmasına benzer bir şekilde bilgisayar ekranına aktarmamız gerekiyordu.

Poz seçimi için geliştirilmiş ve daha hassas histogram

  • Bu geliştirmenin nedeni gerçek pozlamanın her sahnede farklı şekilde seçilmesidir ve bu, farklı ışık seviyelerine ve mevcut hava tipine göre de değişir.

Işık kaynağı (sokak lambaları, araç lambaları) değişiklikleri

  • Işık kaynaklarını daha fiziksel bir zayıflamaya (‘ters kare düşüşü’) değiştirdik.
  • Tahminleri azaltmak için fiziksel birim tabanlı bir yapılandırmaya geçme sürecindeyiz.

Bunlarla birlikte birçok ufak görsel ince ayarlamalar

Hoş bir yansıma

  • Vitrinlerdeki yansımalar ve pürüzsüz yüzeyler günün saatine ve hava durumuna daha iyi uyum sağlar

Daha iyi yansıma

  • Kamyon boyası, mağaza vitrinleri ve genel olarak cam yüzylerde geliştirmeler

Güneş ufku gölgesi

  • Güneş doğduğunda veya battığında görünür

Ve milyonlarca başka küçük ayar, düzeltme ve değişiklik.

Şimdiye kadar tahmin edebileceğiniz gibi – tüm bunlar ekibimiz için muazzam bir çalışma oldu. Tüm bunları mümkün kılan ilk parlak kıvılcımı (amaçlanan), küçük bir programcı ekibinden ve bir görsel efekt sanatçısı (aşağıda göreceğiniz üzere) çıkardı. Tüm takım “kolay” olana kadar hacklemeye, yinelemeye ve planlar hazırlamaya devam etti ve geriye kalan tek şey, her şeyi yeni mantığa göre ayarlamak için ek mesai harcamaktı.

Yeni ışık sistemi, oyunlarımızın SFX bölümü için FMOD desteğinin uygulanması gibi, hala geliştirme, parlatma ve ayarlama aşamasındadır. Ve önümüzde hala çok iş var. Bu noktada, halihazırda aşağı yukarı kullanıma hazır bir şekilde olduğunu hissediyoruz ve şu anda Steam’de açık bir beta sürümü denemek isterseniz, siz de deneyimleyebilirsiniz.

Bize yardım etmek isterseniz lütfen en sevdiğiniz güneş gözlüklerini takın ve mükemmel gün doğumunu yakalamamıza yardım edin! Yeni ışık sistemi hakkındaki düşüncelerinizi ve fikirlerinizi okumak için sabırsızlanıyoruz. Çok teşekkürler!


Kaynak: SCS Software blog


Euro Truck Simulator 2 ve American Truck Simulator forumları için buraya tıklayın.

SimülasyonTÜRK

4 Comments

Leave a Reply
  1. merhaba hasan bey v1.40 güncellemesinin tam sürümü tahmini ne zaman çıkar? ha birde v1.40 güncellemesinde performans sorunları olur mu sence?

    • Iberia DLC’sinden önce yayınlanacaktır ancak tarihi kimse bilemez. Nisan ayında DLC çıkacağına göre ondan önceki birkaç gün bitmesi gerekecektir. Bu her zaman aynıdır. Performans sorununu kontrol etmek için betaya katılabilirsiniz. Yukarıda bunun açıklamaları yapılmış durumda.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Microsoft Flight Simulator’ın ilk ciddi helikopter eklentisi FlyInside Bell 47G duyuruldu!

Microsot Flight Simulator için ilk karmaşık ve yüksek ayrıntılı Aerosoft CRJ 550/700 uçak eklentisi yayınlandı