Fotogrametri Nedir?

Ahmet UTV
Dijital Oyun Sanatı
9 min readAug 21, 2021

--

Embark Studios sanatçılarından Andrew Hamilton, fotogrametri tekniği ile nasıl çalıştıklarını gösteren üç bölümlük serinin bu ilk bölümünde, fotogrametrinin ne olduğundan bahsediyor.

Fotogrametrik çekimler için yaptığımız Tenerife gezisinin arka planı.

Embark sanat ekibinden birkaç kişi olarak çıktığımız Tenerife (Kanarya Adaları) gezisinde bir hafta boyunca tabiata ait fotogrametrik görüntüler topladık. Şeffaflık şiarımızla, Embark olarak fotogrametri ile neden ve nasıl uğraştığımız hakkında tecrübelerimizi paylaşmanın güzel olabileceğini düşündük.

Fotogrametrinin tanıtımı, Tenerife gezimizdeki günlük iş akışımız ve taranan asset leri oyunumuza nasıl eklediğimiz hakkında üç bölümden müteşekkil serinin bu ilk bölümüyle başlıyoruz.

Fotogrametriye âşina olmayanlar için bir izahat yapalım. Özünde fotogrametri, gerçek hayattaki objelerin fotoğraflarını kullanarak, dijital ortamda bunların 3D modellerini oluşturmaktır.

Bunun için de tek bir objenin yüzlerce fotosu gerekir. Ardından, bilgisayarda bu resimlerin benzer hususiyetleri belirlenir ve belirlenen bu milyonlarca özellik sayesinde yüksek detaylı 3D obje oluşur.

Fotogrametrinin kullanıldığı onlarca farklı saha mevcut. Ancak birkaç yıl içinde oyun geliştirmeyi de ihâta etmeye başladı. Fotogrametriyle ilk tanışmam 2011' in öncesine dayanıyor ve o zamanlar bunu gerçekçi oyun karakterleri oluşturmak için gerçek karakterleri taramada kullanırdık.

Müteakip yıllarda, birçok AAA oyun projesinde çalışırken içerik oluşturmak adına fotogrametriyi zamanla diğer alanlara da tatbik etmeye başladım. 2013' ün sonlarına doğru bu işlemin potansiyelini gördüm ve oldukça büyük ölçekli çevreler için fotogrametri kullanan yüksek bütçeli projelerde yer aldım. Hangi oyun projelerinde fotogrametri kullandığımı görmek için portfolyoma göz atabilirsiniz.

Önceden fotogrametri kullanımı biraz sıkıcıydı. Kullandığımız program ne gelişmiş ne de oyun geliştirme için uygundu. Geniş bir deneme yanılma safhasından geçerek üretim için uygun iş akışı oluşturmak oldukça zaman alırdı.

Şimdilerde kesin ve istikrarlı neticeler veren daha iyi ve erişilebilir programlar mevcut. Öyle ki sanatçılar artık büyük stüdyoların kullandığı araç ve iş akışlarını evde kullanabiliyorlar.

Fotogrametrinin, bir sanatçının iş akışını gerçekten geliştirdiği kanaatindeyim. Özellikle gerçek oyun çevreleri oluşturma isteği mevzubahis ise (şartlar ne olursa olsun oldukça yaratıcı kullanım tecrübesi sunabiliyor). Sanatçının gerçek görsellere karşı sadece orijinale ulaşmasını değil, bunları muhtevaya taşıyan hızın artmasını da sağlıyor.

Sektörde neredeyse 15 yıldır oyun geliştiriyorum, işlem ve araçların gelişiminin oldukça hızlı ilerlediğini söyleyebilirim. Kendi iş akışlarıma fotogrametriyi dahil etmek, içerik üretimi hakkında fikir yürütme ve oluşturmak hususunda heyecanlı bir değişime sebep oldu.

Embark’ taki ilk oyunumuzda fotogrametri kullanmak bir bedahetti. Niyetimiz topraklı, orijinal ve inandırıcı bir çevre oluşturmaktı. Ancak ekibimizdeki sanatçılar, geleneksel AAA stüdyolardaki büyük ekiplere nazaran çok küçüktü.

Küçük bir ekip olmak fotogrametri ile nasıl çalışmamız gerektiği hususunda tekrar düşünmemizi icap ettiriyordu. Kesif zamanlı ve sıradan bir işi azaltmak veya mani olmak için, yapabildiğimiz kadar seriye bağlıyor ve mümkün mertebe procedural araçları kullanıyorduk. Şimdiye kadar yaptığımız işlemler bizi umutlandırdı. Günler süren bazı vazifeler şimdi saatler sürüyor.

Neticeye varmadan önce, aklımızdaki çevrenin boyut ve teferruatını oluşturma yeteneğimizi sınamak için, ilk başta teknoloji ve araçlarımızdan emin oluruz. Bu ilk teknik test (alttaki video), küçük bir ekiple büyük ve çeşitli bir çevrenin yapılabileceğini bize ıspatladı ve heyecan verici oyun dünyamıza başlamada bir sonraki adımı atmamızı sağladı.

Tenerife gezimizden bazı istatistikler:

7 gün
90 km doğa yürüyüşü
749 tarama
115.000 fotoğraf
1 burkulan ayak bileği

Esbjörn Nord: artstation.com/esbjornnord
Pontus Ryman: artstation.com/spitfire51
Robert Berg: artstation.com/pixelgoat
Andrew Hamilton: artstation.com/andrewhamilton

Sahada Fotogrametri (2. Bölüm)

Bu bölümde Pontus Ryman, vardıkları yerde ne yaptıklarından ve fotogrametriyi pratikte nasıl uyguladıklarından bahsediyor.

İlk büyük fotogrametri gezimi 2013' ün sonlarına doğru yaptığımda, büyük oyun projelerinden birinde ilk kez yer aldığım zamanlardı ve oyundaki çevreler için genel olarak fotogrametri uyguluyordum. Bu hususta çalıştığım projelere portfolyomdan göz atabilirsiniz.

Andrew’ ün de dediği gibi dünden bugüne çok şey değişti; değişen şey sadece programlar değil, aynı zamanda işlemlere olan teşebbüslerimiz.

Buna rağmen bazı şeyler aynı kaldı. Bir yere vardığımızda beni her defasında etkileyen ilk şey, tabiatın gerçekten nasıl detaylandırılacağıdır. Gerçek bir biyomun teferruatı karşısında şaşkına dönmek gayet tabîdir. Haliyle fotogrametriye sakin bir kafayla sistematik olarak yaklaşmak önemli.

Tenerife’ deki Teide Millî Parkı’ na vardığımızda, ilk günün çoğunu farklı alanlardaki çeşitli bitki örtülerini görmek için dolaşarak geçirdik. En iyi zamanlama ve tarama için bu yerlerde gün ışığının ve gölgenin farklı zamanlarda nasıl göründüğünü müşahede ettik. Önceden etraflıca plan yaparken, adayı bizzat gözlemlemek inisiyatiflerimizde ani değişikliklere sebep oldu.

Mekânları bir kez tanıdıktan sonra foto çekimleri için çok zaman harcayacağımızı biliyorduk. Buraları yönetilebilir bileşenlere ayırmamız gerekiyordu. Önce sıradan ve genel kayalara veya ağaçlara odaklanıldığında, diğer harika ve eşsiz kayalıklar ortaya çıkıyor. Bunlar, oyun motorundaki çevre boyunca kesintisiz devam edecek türde asset lerdir.

Bir biyomun temel olarak ihtiva edebileceği bazı asset örnekleri.

Oluşturacağımız çevrenin şekillenmesinde yardımcı olacak tanecikli zemin materyallerinden büyük uçurum yüzeylerine bir geçiş aralığı

Her zaman biyomu birkaç zemin türünde tahlil eder ve katmanlama hakkında fikir yürütürüz. Eğer çevre bir kayalıksa, tanecikten tutun ince kum ve daha büyük kaya parçalarına dek malzeme şekilleniyor. Eğer ormanlık bir yerse, o zaman kirden zemin kabuğuna, çalılardan ağaçlara dek daha doğal katmanlara odaklanıyorsunuz.

Gezide taradığımız bazı zemin materyalleri koleksiyonu

Aşikâre çevre detaylarının geniş aralığından, büyük uçurum duvarlarının tüm ince detaylarına kadar, oyundaki dünyamızın temel kalitesini belirliyoruz. Bu asset lerin mümkün mertebe yüksek kalitede kaydedilmesiyle, oyunun kendine has yüksek görsel kalite aralığına sahip olmasını sağlıyoruz.

Aşağıda, Tenerife gezimizde elde ettiğimiz ve ardından işlediğimiz genel real time-low poly 3D asset lere dair bir örnek mevcut. Oyunda karşılaşacağınız temel çevre unsurları olarak, gezide taranarak elde edilen basit bir kaya sahnesi.

Taradığımız bazı asset lerin gerçek zamanlı bir render ı

Muhtevanın temelini bir kez yakaladıktan sonra, gerçek hayatta karşılaşma ihtimali vermeyeceğiniz eşsiz kayalara, cazip kirli yollara ve ilgimizi çeken diğer garip-enteresan şeylere odaklanmaya başladık.

Bu cazip asset ler, temelin en üst katmanında bir çok nihai netice sunuyor. Tenerife turumuzda patikalar, kurumuş dere yatakları veya genel seyri ortaya koyan küçük bir tabî çıkıntı gibi unsurlar vardı; ki bunlar, ilave bir katman ekleyerek oyundaki bütün çevreye tesir edecek gerçekçi kaliteyi ortaya çıkaracak.

Ayrıca her taramada bir renk paletinin fotosunu çekeriz. Böylece asset leri oyun motorunda tekrar oluştururken müstekar renk dengesinden emin olabiliyoruz. Bu, aynı zamanda daha geniş asset sırasının birbiriyle uyumlu olmasını sağlar.

Neticede uygun renk kalibrasyonu, istikrar ve renk referansını doğru belirlemek için daima taradığınız asset leri karşılaştırabileceğiniz bir renk paletinin fotosunu çekin.

Uzun yıllardır fotogrametriyle uğraşırım; yine de her zaman öğrenecek yeni bir şey olur. Meselenin icmali ve bazı tavsiyeler:

  • Usulsüz vusül olmaz: Planlama

Tarama ve zamanlama hakkında daima plan yapın. Ziyaretten önce, gidilecek yer hakkında sağlam bir ön araştırma yapın ve teçhizatınızın gezi için uygun ve hazır olduğundan emin olun.

  • Bir yerin özünü yakalayın

Çevreyi canlı kılan bir biyomu eşsiz-özel yapan bütün temel parçaları tespit edin. Kayalar tabî olarak benzer bir familyayla uyumlu olacak, ormanlar ekosistemle uyumlu bir bitki örtüsüne sahip olacaktır. Çevredeki münhasır asset lerin birleşimi, parçaların bir araya gelmesinin ötesinde bir şey oluşturacak.

  • Birsürü referans video ve foto çekin

Tarama yaparken çevrenin referans foto ve videosunu çekmeyi unutmak gayet tabî. Ancak bu, eve geçtikten sonra motorda biyomu tekrar oluştururken oldukça kıymet bulan basit bir işlemdir.

  • Taradığınız asset in yanısıra daima renk paletinin fotosunu çekin

Bu, hem asset kütüphanenizin müstekar ve doğru renk dengesine sahip olmasında, hem de motorda oluşturacağınız asset lerin doğru renk kalibrasyonuna sahip olmasında yardımcı olacaktır.

  • Çeşitli kıyafetle gidin!

Gündüz vakti -3 °C ile öğlen +15 °C arasında değişen hava sıcaklığında, sarp arazide günde bir onlarca kilometre yol kat ettik. Bir dahaki sefer çeşitli kıyafet ve sağlam ayakkabılarla gideceğimden emin olabilirsiniz.

Geziye çıktığımızda bu yeni ayakkabıları ilk kez giymiştim, üç günlük turun neticesi..

Bir sonraki bölümde meslektaşım Robert Berg, elde ettiğimiz bu binlerce görüntüyle ne yaptığımızı ve oyundaki çevreye nasıl tatbik ettiğimizi gösterecek.

Fotogrametrinin Tatbikatı (3. Bölüm)

Taramaları telefonda vesika haline getirirken..

Embark’ ta çevre sanatçısı olarak çalışıyorum. Fotogrametriyle ilk tanışmam 2014' ün öncesine dayanıyor. Küçük bir ekiple bile harika fotogrametrik neticelere ulaşılabileceğini gösteren korku oyunu, The Vanishing of Ethan Carter’ ı oynadıktan sonra başladı bu macera.

Maksat yüksek kalite neticelere ulaşmak olduğunda fotogrametri bazen hile gibi görülür. Değerli bir kestirme olabilse dahi, yüksek kalite texture a sahip asset leri oyuna yerleştirmekten daha fazlasıdır.

Fotogrametriyi oyun geliştirmenin bir parçası olarak kullanacağınız vakit, sınırlı hafızaya sahip üst seviye görselleri ve mevcut oyun donanımının render bütçesini dengelemeniz gerekir. İşte işin eğlencesi ve gerekli yaratıcılık burada başlıyor.

Dilerseniz Tenerife gezisinden döndükten sonra ne yaptığımıza geçelim.

İlk işimiz topladığımız altı terabaytlık fotolarla ilgilenmekti. Önceki iş akışımızda bu manuel olarak yapılmış ve haftalar sürmüştü.

Tüm bu işleri bizim için halleden Sortie adlı aracın yapımcısı Paul (namı diğer MoP) gibi bir teknik sanatçı sayesinde, bu iş akışlarını geliştirmeye matuf bazı güzel fikirlerimiz ortaya çıkabiliyor. Bu durumda tüm yapmamız gereken, her taramayı siyah bir resimle perdelemek (bir tarama bittikten sonra eli lenslerin önüne tutarak foto çekmek) ve Sortie’ nin her tarama sahnesini kendi bünyesindeki klasöre yerleştirmesini sağlamak.

Her fotoyu düzgün bir şekilde dizdikten sonra, resimleri işlem için hazırlamaya sıra geliyor. Bu safhada öncelikli iş akışı, resimlerdeki ışık ve gölge arasındaki farkı asgariye indirmek, tabiri caizse düzlemek. Bu, çalışırken asset i parlatmaya (güzel kılmaya) yardımcı olan daha temiz texture lar sunar.

Ardından resimleri, RealityCapture adlı adeta kara büyü yapan bir programa aktarıyoruz. Program, birçok resimle eşleşen benzer noktaları buluyor, bunları hizalıyor ve bu vetirede texture a sahip bir 3D model oluşturuyor.

Taranmış kayanın RealityCapture’ da oluşturulan kamera açıları ve nokta bulutları

Bu gezideki kayıtlarımız, normal kamera fotoları ve drone çekimlerinden müteşekkil, birleşik 2500 resimden ibaret bir tarama. RealityCapture tüm bu resimleri hizalama ve okkalısından 1.4 milyon tris lik (triangle) bir 3D model üretimini yönetti. (yuh!)

1.4 milyon tris aşırı bir değer; ancak herhangi bir 3D programın iyi performansla idare edemeyeceği bu hal, yüz milyonlarca tris lik ham modeller üreten RealityCapture için sık karşılaşılan bir durum.

Bu yüzden high poly taramaları oyun içi modellere dönüştürmede xNormal kullanıyoruz. xNormal’ in faydası, bir viewport a sahip olmaması. Bu da herhangi bir modelin ekranda görünmeden onca tris üzerinde hesaplama yapabilmesi anlamına geliyor.

Bu noktadan itibaren oyun içi modeli geleneksel olarak neticelendirmek, high poly modeli istenilen tris değerine indirmek için ayarlamak ve rötuşlamaktır. Bu sıkıcı manuel görev, asset in teferruatına bağlı olarak tek başına bir sanatçının günlerini almasa da saatlerini alır.

Volkanik biyomun referans resmi

Embark’ ta birkaç sanatçıdan ibaret küçük bir ekibiz. Bu sıkıcı vazifelerle uğraşacak bir sürü insan bulmaktansa; iş akışlarımızı basitleştiriyor, mümkün mertebe otomatik hale getirmeye çalışıyor ve sanatçılara kafa yorulacak daha kayda değer görevler veriyoruz.

Neticede teknik sanatçılarımız, Houdini’ de bu işlemleri otomatik hale getiren bir araç geliştiriyor. Bu yeni araç, çabucak belli bir tris değerinde oyun modeli oluşturmamızı sağlıyor. Ayrıca birkaç tıklamayla modelin UV maplerini açıyor ve bake-texture ını çıkartıyor.

Fakat iş burada bitmiyor. Aynı zamanda farklı taramaları harmanlama ve eşleştirmemizi sağlıyor, farklı modelleri dikişsiz (seamless) bir mesh ile birleştiriyor, mevcut asset lerden tamamen yeni asset ler oluşturmamızı sağlıyor. Son zamanlarda benzer bir eklentiyi Blender için de oluşturduk, ki Blender 2.8 beta sürümünden beri kendisine aşık olduğumuz bir program!

Nihai oyun modeli oluştuktan ve high poly modelden texture lar elde edildikten sonra, sıra asset i temizlemek ve parlatmakta.

Temizleme aşaması, tıpkı resimde yeterli bulmadığınız bir açı veya çok koyu-parlak noktalar gibi, RealityCapture hesaplarken oluşan kayıp bilgileri doldurmaktan ibarettir. Bunu yapmanın en basit yolu, modeli Substance Paintera gönderip, ilgili tüm renk kanallarında herhangi kayıp noktalara “clone stamp” uygulamaktır.

Cilalama işlemi ise, tarama esnasında objede oluşan tüm ambient ve directional ışığı silmektir. Işığın texture larda bıraktığı izler, oyun motorunun kendi ışıklandırmasında karmaşaya yol açar, asset in shader ı düzgün görünmez ve ışık sanatçısı üzülür.

Aynı kaya yapısının önceki (solda) ve Substance Painter’ da cilalanan sonraki hali (sağda)

Asset in hafıza izini sınırlandırmak için, ağırlıklı olarak, gerekli yüksek frekans detayı muhafaza ederken eşsiz map lerin çözünürlüğünü düşürmeyi sağlayan detay map leri kullanıyoruz. Detay mapler, büyük texture lar gerektirmeden kaliteyi artıran eşsiz texture ların üzerine dizdiğiniz (tile) taranmış texture ların ilave bir setidir.

Unreal Engine 4' te çekilmiş bir volkanik biyom sahnesi

Aşağıdaki video, geziden döndükten haftalar sonra bitirdiğimiz tüm çalışmaların neticesi. Gayemiz küçükten orta ölçek detaylara kadar biyomu oluşturmaktı. Büyük ölçekli manzara ve atmosferlere nazaran, odak noktamız ilk çevre denememizdi.

UE4' de oluşturulan bu demoda hedefimiz, küçükten orta ölçeğe yüksek görsel kaliteyi yakalamaktı.

Maksadımız, çalışmamıza devam ederken sanatçı iş akışlarından “manuel” ve “tekrar” mefhumlarını kaldırmak. Ön üretimden önce işi kolaylaştıran-hızlandıran araçlar geliştirmeye kendimizi adamıştık. Eğer bir şey tekrara dayalı ve zaman tüketiyorsa, onu otomatiğe bağlamak (kısaltmak) niyetindeyiz!

Bu da kompozisyon, ışıklandırma ve çevre oluşturma gibi eğlenceli ve kayda değer işe odaklanabilmemiz anlamına geliyor.

Çevrenin motorda çekilmiş başka bir sahnesi

--

--