Pass Render yada occ nedir?

Pass Render yada occ nedir?

Legolas

=) Merak ettim pass render pass render denip duruyor ve kolaylıklarının olduğuda söyleniyor ama bununla ilgili Türkçe bir kaynak bulamadım ? Nedir ne değildir nasıl kullanılır faydaları nedir :) bu bilgileri paylaşırsak güzel olur.

2007-12-28 18:50:29

Cvp

emreşan

Pass render, farklı programlarda farklı isimlerle anılmasına karşın aynı teknik ve uygulama şekli sabittir. Varolan 3 boyutlu sahnenizin ışık ve yansıma sonucu oluşan görüntüsünü normalde malzeme düzenleyicilerimiz yolu ile gerekli değerlere getiri ve malzemenin gerçekçi görünmesi için onları bir arada nasıl birşeştirip ince ve hassas ayarlarla uygulayacağımızı biz seçeriz, 3D programda bizim için bunu birleştirir. (compositing) Örnekse; bir zemin yarattığınızı ve üzerine doku kapladığınızı varsayalım. zemin üzerinde duran bir küre (sphere) olduğunu ve belli açılardan bir kaç tane ışık kaynağının zemine ve kürenin üzerine gölge düşürdüğünü varsayarak örneğe devam edelim.

Öncelikle kullandığımız 3Boyutlu modelleme ve Animasyon yazılımı, objelerin ışığa olan uzaklığını ve açısını heap ederek izdüşümlerini çeşitli algoritmalarla hesaplıyor ve zeminin üzerine gölge düşürüyor. şimdi normalde zemin üzerinde bir doku var ise o dokunun üzerine düşen gölge yüzünden aynı dokunun koyulaştırılarak gölge altında kalmış gibi gösterilmesi programın bize sunduğu otomatikleştirilmiş fonksiyonlardan bir tanesi. Gölgenin şiddeti (strength) 100 üzerinden 50 ise tamamen siyah değil varolan dokunun (zemin) tam siyah değil %50 koyulaştırılmış hali ile gölge belirtilir. Aynı zamanda kürenin üzerinde bir ışık parlaması var ise bu parlama beyaz yada açık renktir ve kürenin asıl renginin üzerine bindirilir. ortası tam beyazdır ama parlamanın yayıldığı kısımlar diffuse denilen asıl dokunun renginin tonlarında örnek olarak kırmızıdan beyaza degradeolarak oluşur. Tüm bu görüntülerin oluşturulması sırasında 3B programlar her bilgiyi (ışığın gölgesi, parlama etkisi v.s.) hafızasında tutar ve hesaplama sırasında (render) üstüste bindirerek istediğimiz değerlerde görüntüyü elde etmek için compositing yapar. Aslına bakarsanız burada önce ham olarak dokuların ışıklandırmasız %100 parlak hali ile oblejer üzerine kaplanmış hali hesaplanır. burada amaç UVW sonucu dokunun obje üzerindeki yüzey yapısına uygun deformasyonunu tespit etmektir. Daha sonra varolan yüzey bilgileri (açı, ışığa olan uzaklık, malzemenin ışığa verdiği tepkinin şiddeti, stili) ele alınarak ışığın meydana getirildiği parlamalar için bir katman daha hesaplanır. Bu katman ikiye ayrılır. lightning olarak aktarılan katman ışığın etki alanında kalan ve malzemenin dokusunun aydınlanmasında rol sahibi ışık ve renk bilgisi hesaplanır. digeri ise shiness olarak adlandırılan kanaldır. Burada "kanal" olarak kullandığım terim örnek olarak Softimage XSI programında "pass", 3DS Max programında elements veya channel olarak geçer. Shiness, varolan lightning bilgisindden farklı olarak, ışığa verdiği tepki sonucu daha metalik ve yansıtıcı özelliği bulunan parlak plastik gibi malzemelerde oluşan beyaz kımı yani ışığın yansımasının azami olduğu kısmı hesaplayan kanalın ismidir. Buraya kadar olan süreci örneklendirmek gerekir ise; photoshopta bir resim katmanı alıp deformasyon araçları ile perspektif etkisi verdiğimizi ve dokumuzun perspektif kaçış noktaları prensibine göre ufuk çizgisine doğru uzayan uzak kenarların daralarak uygun bir hale geldiğini düşünelim. şu an için 3d programda kameraya bakan bir düzlem ve üzerindeki dokunun alacağı şekil ve ışıklandırma etkilerine maruz bırakılmadan önce alacağımız ham doku görüntüsü (diffuse) böyle birşey olacaktı. Bu katmanın üzerine yeni bir katman açıp burn ve multiply gibi araçlar ile koyu olması gereken ve ışığa uzak kalan kısımların tarafımızdan elle koyultulduğunu ve/veya renginin açıldığını farzedelim. Bu kısımlarda yaptığımız müdahelenin adı daha doğrusu bu müdahelenin hangi bölgelerde açıklık hangi bölgelerde koyuluk gerektirdiğini anlatan ve bizim oluşturduğumuz katmanın 3d programlardaki karşılığı "lighting" yani ışıklandırma/adınlanma kanalıdır. çizdiğimiz düzlemin bir kalınlığı olduğunu ve kenarında ışığın parlamasını gösterecek metalik bir etki için boyadığımız beyaz kısımlar ise "shiness" yani parlaklık kanalıdır. Aynı zamanda 3d programlarda "pass" olarak da geçebildiğini daha önce söylemiştim.

bu örneklerden yola çıkarak söyleyebilirdiz ki, burada kanal olarak (veya pass) bu bilgilerin ayrı ayrı katmanlar olarak alabiyor olmanın avantajları ağır ve hesaplanması uzun süren sahnelerde ortaya çıkıyor. çünkü 3B yazılım zaten normal hesaplama sırasında bu kanal bilgilerini hafızasında tutuyor (bu ve daha bir çok faklı kanal bilgisi) yani aslında pass render deidğimiz işlemi yaparken yazılıma bir yük bindirmiş olmuyoruz. 3boyulu olarak hesaplattığınız sahnedeki gölgelerin yansımanın ve objelerin dokularının render sonrasında müdahele edilebilir katmanlar olarak ayırmanın şu an için pass render dışında kolay bir yolu yok. Bu seçenekleri işaretlediğimizde 3B yazılım bize istediğimiz kanalların üst üste getirildiğinde nihai sonucu elde edeceğimiz imgenin her kanalı ayrıştırılmış halde kullanma olanağı sunuyor. Biraz önce bahsettiğim önrketeki gibi zemin üzerinde duran kürenün gölgeleri sadece siyah beyaz bir katman, üzerine gölgenin birşeştirilmediği ve ışıklandırılmanın yapılmadığı ham doku katmanı, ışıklandırılma sonucu oluçacak aydınlatma/koyultma bilgilerinin olduğu ışıklandırma kanalı ve en son olarak işaretlemiş isek parlaklık (shiness) kanalı ayrı katmanlar olarak bize verildiğinde işin içine bir fotoğraf düzenleme yazılımı veya bir kompozitleme (compositing) yazımını sokmamız gerekiyor. Sırası ile doku (diffuse) üzerine lighting (ışıklandırma) kanalını photoshoptaki gibi "overlay mode" ile üstüne bindirdiğimizde alttaki dokunun verdiğimiz aydınlanma kanlındaki resmin siyah beyaz değerine göre koyulaştığını ve ışık olan kısımların aydılandığını görücez. Burada kanalı bu şekilde kullanmanın en byük yararı, sadece ışıklandırma anlına "brightness & contrast" filtresi verdiğimizde koyuluk açıklık değerlerini istediğimiz gibi render işlemini baştan yapmadan müdahele edebiliyor olmaktır. Render sırasında oluşan çok aydınlık kısımların bu şekilde diğer kanallara müdahele etmeden düzenlenmesi mümkündür. Shiness adı ile getirdiğimiz kanalda çok falza ışık yansıması olduğunu düşünüyor isek bu katmanın opacity değerini azaltarak daha az görünmesini ve yine birleştirme modlarından herhngi birini zeçerek alttaki katmanların denk değeri üzerine nasıl bindiğini deneyip görebilir ve sonucu kolaylıkla değiştirebiliriz.

OCC şeklinde geçen kanalın uzun ismi "Ambient Occulusion" dır (embiınt okulujın) GI (global Illumination) fonksiyonu aktif hale getirildiğinde objeler arasında ve objelerin kendi yüzeylerinde çukurda kalan, başka bir objenin altında kalan ve normalde gün ışığı gibi homojen bir ışık ortamında karanlık olması gereken yerler ayrı bir kanal olarak verilir. bunun amacı genelde varolan sahnenin ana ışıklandırması ve kullanılan tema dışında tüm objelerin kontrastını, gölgelerin gerçekliğini arttırmak için kullanılan seçenektir. Aynı kanar bir ağaç kovuğunun çatlakları arasında kalan kısmın hem gölge aynı zamanda kir gibi başka efektler içinde compositileme programlarına klavuz olabilecek kanal olma niteliği taşır. Tüm compositing progamları bir katman ile diğer katmanı birleştirmek için siyah/beyaz rendk değerlerini kullanır.Bu sebepten dolayı internette görmüş olduğunuz ve/veya 3B programınızdan almış olduğunuz pass render çıkışları renksiz (diffuse ve reflection gibi kanallar hariç) ve sihay/beyaz tonları taşır. Burada amaç özellikle OCC dediğimiz kanlar gölgede kalan kısımların sihay aydınlık olan kısımların beyaz olarak işlenmesi sonucu compositing programının burada hangi kısımların (pixellerin) gölge olduğuna bu siyah beyaz değerine bakarak karar vermesidir. Multiply olarak diffuse kanalı üzerine bindirdiğimiz OCC kanalında beyaz olan kısımlar altta bulunan diffuse rengini etkilemez ama siyah olan ksımlar koyuluk derecesine göre varolan alttaki diffue değerini koyultur ve o kısımlarda gölge oluşur. Bu kanalı render esnasında diffuse ile birleşik almı olsa idik bu gölgenin şiddetini değiştiremez, istenmeyen ve kontrol dışı durumlarda gerekli müdaheleyi yapamazdık. Bu ve benzeri örneklerdeki gibi kanalların (pass) çıkışlarını tek bir dosya içinde saklayabildiğimiz gibi (örnek olarak TGA ve TIFF gibi formatlar extra alpha-transparan bilgisia saklayabilir) ayrı ayrı sekans dosyası veya verdiğimz türden video dosyası olarak çıkış almak mümkündür. Bu konuda denemeler yapmak için rla, rpb veya rpf gibi formatları deneyebilir, gelen ayar ekranındaki kanalları seçerek tek dosya içinde sahne ile ilgili ayrıştırabileceğiniz tüm kanalları aynı dosya içnde saklayabilirsiniz.
Ayrışırılabilen kanallardan bazıları;

Malzeme ile ilgili olanlar

Diffuse:Doku
Lighting:Aydınlanma
Shiness:Parlama
Shadow:Gölge
Reflection:Yansıma
Bump:Kabartma

Sahne ve obje ile ilgili olanlar
Alpha:Transparan bilgisi-sahnede bulunan objelerin dışında kalan, daha sonra arka plan olarak kullanılabilecek olan kısmın belirtilmesi için gerekli kanal.transparan objelerin geçirgenlik özelliklerine göre bu kanalın verdiği resimde bu ölçüde hassas ve doğru sonuç vermektedir.
Object ID: Her objeyi çıktı üzerinde ayrı bir renk verir ve objenin sonrasında compositing programında seçilmesini (dekupe eidlmesini)kolaylaştırı.
Z-dept: Derinlik bilgisi - Daha sonra sahnenin uzak kısımlarının alan derinliği dışında kalarak defocus olması gibi etkileri sağlayan kanal çıkışı
Normal:Yüzeylerin normallerini belirten kanal. bu şekilde bazı comğositing programlarında ışıklandırmaya müdahele etmek bile mümkün
Clamp:Objelerin başka objelerle kesiştiği noktalardaki temas eden kısımların belirtilmesi (anti aliasing gerektiren bazı etkilerde objenin seçimine yardımcı olabilecek bir kanal)
UVW: doku kaplama koordinat şablonu - Bazı compositing programları dokunun değiştirilmesi sırasında bu kanal bilgisini kullanarak daha gerçekçi müdahelede bulunabiliyor
motion vector: animasyon sırasında bir pixelin sonraki karede ne yöne ne hızla gittiğini belirten kanal. bu sayede motion blur verdiğinizde sahnede bulunan resmi 2boyutlu algılamak yerine her pikselin gittiği yönü ve hızı analiz ederek doğru değerde ve yönde motion blur (hareket hızı sonucu doğan bulanıklık/hız etkisi) oluşturmayı sağlar

Bunlar şu an aklıma gelen ve 3B yazılımların en belirgin pass render özellikleirnden bazılarıdır. Her format ihtiva ettiği kanal sayısına ve çeşidine göre farklılık gösterir. sizde bazı sahnelerinizde tek kare çıkış alırken tga yerine rla ve rpf gibi formatları deneyin. 3DS studio max yazılımında render elements kısmını inceleyip diğer elementleri ve kanallaır işaretleyerek çıkışları photoshop programında birleştirerek compositing kısmıdna bu kanallaırn yararlarını keşfetmeyi amaçlayın. Yakın bir zamanda bu konuda hazırlayacağım video ders üzerine iyi gelir! :)

2007-12-28 22:55:49

Cvp

Legolas

=) Yakın bir zamanda bu konuda hazırlayacağım video ders üzerine iyi gelir! :)
emre abi açıklaman için çok teşekkür ediyorum baştan sona okudum embiınt okulujın =) tekniği hakkında video ders hazırlamanıda =) bekliyorum teşekkür ederim tekrar.

2007-12-29 00:19:25

Cvp

emergency

yüreğini sağlık çok lezzetli bir bilgi baştan sona kadar zevkle okudum çk teşekkür ederim

2007-12-29 16:01:10

Cvp

emreşan

rica ederim.iyi çalışmalar.

2008-01-02 20:42:51