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? |
![]() 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. |
![]() 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 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) |
![]() 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. |
||
|
![]() 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ı 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ş. |
![]() 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 |