Ana sayfa Donanım UV Sistemi, Doku Pişirme ve Ambient Occlusion

UV Sistemi, Doku Pişirme ve Ambient Occlusion

0

Doku pişirme (texture baking) dediğimiz alt hesaplamaları (render) kullanarak kaplamalarımızı bir 2d boyama programı ile bir seviye daha özelleştirmekten ve ortam emilimi

 

Doku pişirme (texture baking) dediğimiz alt hesaplamaları (render) kullanarak kaplamalarımızı bir 2d boyama programı ile bir seviye daha özelleştirmekten ve ortam emilimi (ambient occlusion) kavramından bahsedeceğiz.

UV düzlemi nedir? Ne amaçla kullanılır?
Elimizdeki üç boyutlu modelin yüzeyini 2 boyutlu bir düzlemde sergilediğimizde elde ettiğimiz koordinatlar U ve V koordinatlarıdır. Elimizdeki modelin kaplama yapacağımız yüzeylerini bu düzlem üzerinde olabildiğince orantılı biçimde sermeye çalışarak bir çeşit cilt elde ederiz. Bunu bir hayvanın postunu serip istediğimiz renge boyayıp geri giydirmek olarak düşünebilirsiniz.
 


Resim 01
 
Böylece modelin üzerindeki doku üzerinde %100 hakimiyet kurmuş oluruz. Bildiğiniz üzere parametre girerek hazırladığımız prosedürel dokular (noise, checker, smoke gibi…) tamamen tekrar ve belli rastgeleliğe dayalı dokulardır. Bu tür kaplamaları modelin istediğiniz bölgesine istediğiniz şekilde yaymak girilen parametrelerle çok da mümkün değildir. Fakat kendiniz boyama yaparak yapacağınız dokular çok daha özel olacaktır. Bunu yapabilmenin tek yolu ise UV”ler üzerinden boyama yapmaktır.Model üzerinde kaplama uygularken kullanacağınız doku resmi doğrudan kare şeklindeki UV haritanızın üzerine serilecektir.

Modelin hangi yüzeyleri U ve V boyunca uzanıyorsa, elinizdeki kaplama da o yüzeyler üzerinde U ve V koordinatlarınca uzanacaktır (resim 01).

 

UV Açma İşlemi
UV”ler üzerinden çalışabilmek için önce modelimizin yüzeylerini 2 boyutlu UV düzlemi içinde sergilememiz gerekir. Modelin yüzeylerini UV düzlemine üst üste gelmeyecek şekilde sergileme işine “UV açmak” denir.

UV açma işlemi programdan programa küçük farklılıklar göstermekle beraber, genelde mantık açısından aynıdır. Bunun için belli kollaylaştırıcı yöntemler vardır. Bunlardan klasik olarak nitelendirebileceğimiz sistem projeksiyon temelli “UV yansıtma”dır. Bu sistemde taslak olarak hazır olan düzlemsel (planar), kübik (cubic) , küresel (spherical), silindirik (cylindiric) geometrilere uygun biçimde modeli sergileyip, daha sonra da elle üst üste gelmiş yüzeyleri birbirinden ayırma işlemi yapılır. özetle projeksiyon yöntemi UV açma sürecine bir başlangıç yapma adımıdır. Kabaca modeli önümüze serer, biz ise üst üste gelmiş küçük ayrıntılar ile uğraşırız.
 

mac
Resim 02
 
Resim 02″deki modelin UV”lerini açma açısından bir başlangıç yapmak için silindirik projeksiyon en uygun yöntem görünüyor. Zaten farkedeceğiniz üzere düzlemsel ve kübik projeksiyonlarda overlapping daha fazla görünüyor (bkz. Kırmızı yanan yüzeyler), Küresel projeksiyonda ise modelin yüzeyleri bombe yapmış şekilde görünüyor. Silindirik projeksiyonda modelin orantısı belli bir miktar korunmuş durumda (Resim 02).

 

İkinci ve daha yeni geliştirilmiş bir yöntem ise iterasyon artırarak sündürme usülü ile UV açma işlemidir. Modo, kesim yerlerini tanımladıktan sonra bunu aşırı derecede kolaylaştıran bir sisteme sahitir. Bu sistemler organik modellerde daha fazla tercih edilmektedir (Resim 03).
 

Resim 03
 
 
Resim 04
 
Bir diğer UV açma yöntemi de, modelin topolojisindeki kenar döngüleri üzerinden parça grupları oluşturarak vektör yönlerine göre UV açma sistemidir. Modo”da Atlas Projection adıyla geçen bu sistem tek parça UV açmak istemiyorsanız işinizi baya kolaylaştıracak bir yöntemdir. (Resim 04).

 

UV açarken nelere dikkat etmeli?
UV açma işleminde dikkat edilecek en önemli ayrıntı yüzeylerin üst üste gelmesi (overlapping) sorunudur. üst üste gelen yüzeyler o bölgeye gelen dokuyu birbirinin kopyası olarak alırlar. Bu, yüzey tekrarlarına yol açacağı gibi yüzey üzerinde akıcı olmayan geçişler sağlanmasına sebep olacaktır (Resim 05).
 


Resim 05
 

  uv sistemi
Resim 06
 
İkinci dikkat edilecek konu model yüzeylerinin UV haritasında hangi büyüklükte sergileneceğidir. Detaylı kaplamalar kullanacağınız yüzeylerin UV haritasında önemsiz yüzeylere oranla daha büyük sergilenmesi işinize yarayacaktır. Diyelim ki elimizdeki model üzerinde bir metin görünmesini istiyoruz. Yazıların okunaklı çıkması için tüm kaplamanın çözünürlüğünü artırmak yerine, önce, ayrıntılı dokuların görünmesini istediğimiz yüzeylerin UV karşılıklarını, ayrıntıya ihtiyaç duymadığımız yüzeylerin UV”lerine kıyasla daha büyük tutmalıyız. Resimde 512 x 512 piksel çözünürlükteki kaplamanın 2 farklı UV üzerinde nasıl göründüğüne bakarak aradaki farkı anlayabilirsiniz (Resim 06).

 

Bir diğer dikkat edilmesi gereken konu ise yüzeylerin UV düzlemindeki orantısıdır. Dikdörtgen bir poligonu UV düzleminde kare olarak göstermek orantı farkından dolayı boyadığınız kaplama ile modelin onu taşıma şekli arasında bir fark oluşmasına sebep olacaktır (Resim 07).

Doku Pişirme (Texture Baking)
Doku pişirme bir çeşit hesaplama (render) sürecidir. Bildiğimiz hesaplamadan farkı, doku pişirirken yapılan hesaplama sonucunda elde edilen çıktı, sahne değil, tamamen UV koordinatlarındaki dokudur. Kare şeklindeki bir resim dosyası çıktısında UV koordinatları boyunca uzanan dokuyu elde ederek, favori 2d resim düzenleme programınızda istediğiniz boyamayı ve değişikliği yapabilir, sonra tekrar modelinize bu dokuyu giydirebilirsiniz. Aynı zamanda modelinizin istediğiniz bir bölgesine özel siyah beyaz mapler hazırlayıp belli efekt derecelendirmeleri yapabilirsiniz (bkz. Modo”da Karmaşık Materyal ve Doku Yapıları – Macline – Aralık 2009).
 

doku pişirme
Resim 07
 
Doku pişirirken çeşitli hesaplama kanallarından (ambient/reflective occlusion, shadow, illumination, diffuse, bump vb.) istediklerinizi pişirme işlemine katabilir, tekrar boyamak veya düzenlemek istediğiniz kanallardan faydalanabilirsiniz.

Doku pişirmenin hoş detaylarından birisi de çeşitli parametreler girerek hazırladığınız prosedürel kaplamaları UV”leriniz üzerinde yayılmış şekilde resim dosyası olarak elde edebilmenizdir. Bu parametreler prosedürel dokunun yapısına göre çeşitlilik göstermektedir. örneğin çoğu programda noise dokusu hazırlanırken noise (gürültü, toz) büyüklüklerini, 2 adet noise rengini belirleyen parametreler girilir.

 

Hazırladığınız bu dokuyu pişirdiğinizde girdiğiniz parametrelerden elde edilmiş kaplamanız resim dosyası olarak oluşacaktır. Elde ettiğiniz bu resim dosyasına ise istediğiniz manüpilasyonu uygulayıp daha sonra bu doku haritasını tek başına modelinize uygulayabilirsiniz.

Resim 08″de böcek modeline ait UV”lerin renk kanalı pişirilmiştir.

çıktı üzerine yazılan MacLine yazısı tekrar modele texture olarak atandığında hesaplamadaki böcek kaplaması da uygulanan yeni kaplamaya uyum sağlamıştır.
 

ambient occlusion
Resim 08
 

  texture baking
Resim 09
 
Ambient Occlusion (Ortam Emilimi)
Ambient occlusion bir çeşit ışık simülasyonudur. Sahnenin ışık kurulumu ne olursa olsun tek bir Skylight olduğunu varsayarak model üzerineki ışık sekmelerini, karartı toplanmalarını, emilim yerlerini ve ışık açısından ölü bölgeleri hesaplayarak modelin, detaylarını sergileme açısından faydalı bir çıktıdır.

AO bir çeşit global illumination hesaplamasıdır. Mantıksal açıdan şöyle çalışır: Modelin yüzeyinden tüm yönlere vektörler saçar. Bu vektörlerin model üzerindeki çıkış noktaları eğer vektör hiçbir noktaya çarpmıyorsa beyazdır. Eğer vektör çıkış noktası, vektör başka bir yüzeyle karşılaşıyorsa koyu renk alır. Bu sayede model yüzeyi koyu ve açık renkler ile sergilenmiş olur (Resim 09).

 

AO Kullanımı
AO normalde model üzerindeki detayları göstermek açısından pişirilip mevcut diffuse (çözülüm) kaplaması ile kompozitlenerek kullabilir, buna “1.Yöntem” diyebiliriz. Aynı zamanda kaba bir uygulama yöntemi de bir sahnenin renderı bittikten sonra genel olarak bir de AO çıktısı alıp bitmiş hesaplama çıktılarını kompozitlemektir. Bu da “2.Yöntem” olsun.

1. Yöntemde modelin diffuse haritası ile kullanılan ambient occlusion genelde Overlay efekti ile kompozitlenir (multiply, soft light, hard light alternatif çözümler olabilir).

Her iki yöntemin kullanım sonuçlarını Resim 10″da görebilirsiniz. 1.yöntem ile oluşturulan sonuç, materyaldeki SSS (ışığın yüzey üzerinde iç yayılımı) ve yansıma etkisini yok etmemesine karşın, 2.yöntem ile sonradan kompozitlenen AO, SSS ve yansıma etkilerini bir nebze absorbe etmiş, bununla beraber genel detay miktarını ise sahnenin ışığının gösterebileceğinden daha fazla ortaya çıkarmıştır. Bu biraz da tasarımcının zevkine kalmış bir durumdur. Kişisel yorumum olarak söyleyebilirim ki, bu çalışma için detayların 2.yöntemdeki kadar ortaya çıkması benim gözüme pek hitap etmiyor. çünkü mevcut ışıkla bir orantısızlık oluşturmuş.
 

uv düzlemi
Resim 10
 
Yöntemlerin gerçekleştirilme sürecini özetleyecek olursak; 1.yöntemdeki iş akışı, önce model üzerinde boyama yapılıp renk (diffuse) ve tümsek (bump) haritaları hazırlanmasıyla başladı. Daha sonra ise ambient occlusion çıktısı, açılmış UV üzerinden pişirildi. Photoshop ile (başka programlar da kullanabilir) overlay efekti kullanılarak, boyanan renk ve ambient occlusion dokuları kompozitlendi. Kompozitlenmiş renk dokusu tekrar diffuse haritası olarak modele giydirildi ve tekrar hesaplama yaptırılıp çıktı alındı.

2.yöntemde ise sahne normal olarak hesaplatıldı, daha sonra ise sadece ambient occlusion kanalı ile renderlandı ve iki çıktı doğrudan kompozitlendi (Resim 10).

Bu ay anlatacaklarımın sonuna geldim. Tüm sorularınız, önerileriniz ve istekleriniz konusunda bana ulaşabilirsiniz. 2012″ye girerken iyi bir yılbaşı geçirmenizi, yeni yılın başarı dolu ve tüm sevdiklerinizle beraber sağlıklı ve mutlu geçmesini dilerim. Bir sonraki görüşmemize kadar hoşça kalın. ML

 

BİR CEVAP BIRAK

Please enter your comment!
Please enter your name here