12 Ağustos 2011 Cuma

Mental Ray ile Cell ve Contour Shading (Çizgi Film Tarzı Gölgelendirme)


3B yazılımlar ile çizgi film tarzı görselleştirmede iki önemli unsur vardır. İlki nesnenin üzerinde oluşan ışık etkisi. İkincisi de dış hatlar (Contour).

Mental Ray ‘de dış hat konusu bu işe özel kaplama tipleri ile halledilirken, nesne üzerindeki etkisi Falloff, Gradient Ramp benzeri tonlama kontrolüne sahip kaplamalar ile halledilmektedir. Nesnenin yüzeyinin de doğru gölgeme oluşturacak yumuşaklıkta ve yapıda olması gerekmektedir. Sert hatlı / düşük yüzey sayısına sahip nesneler istediğiniz gibi gölgeleme yapmayabilir. Tabi Mental Ray ‘in açık yapıda olduğunu ve ileri seviye kullanıcı ve firmaların kendi malzemelerini (Shader) yazdığını da unutmamak gerek. Burada yazdıklarım fani yani biz son kullanıcılar için geçerli şeyler.


Mental Ray ile elde edilecek çizgi film etkisi nesne ve / veya malzeme tabanlıdır. Yani aynı sahne içinde foto gerçekçi görüntüler elde ederken diğer tarafta çizgi film tonlaması uygulayabilirsiniz. Her türlü malzemeyi iç içe kullanabilirsiniz. Car Paint Material ile gerçekçi şekilde görselleştirilen bir araba nesnesine yaslanan çizgi film karakteri olabilir. Tüm yansımalar sorunsuz hesaplanacaktır. Multi/Sub-Object malzeme ile aynı nesne üzerinde dahi, farklı malzeme tiplerini kullanabilirsiniz. Dış hat özelliği de aynı malzemede olduğu gibi sadece istenen nesneye atanmaktadır. Hatta gerçekçi malzemelere de dış hat uygulamak mümkündür. Dış hatların yansıma ve kırılmalarda çıkması da kontrol altındadır. Yani dilerseniz deniz yüzeyi üzerindeki yansımada dış hatları gizleyebilir yada cam şişenin arkasında duran nesnenin dış hatlarının şişenin görüntüsünün içinde kırılmasını sağlayabilirsiniz. Şimdi hep birlikte özet geçtiğimiz bu konuları detaylıca inceleyelim.


CONTOURS SHADING (DIŞ HAT)

Nesnenin dış hatta sahip olması için 2 seçeneğin aktif hale getirilmesi gerekir. İlk olarak Render motoru olarak Mental Ray ‘in atanmış olduğundan emin olun.

Ardından, Rendering / Render Setup / Renderer / Contours ‘ın aktif hale getirin.

İkinci adım olarak, dış hatta sahip olmasını istediğiniz malzemenin, Mental Ray Connection / Contour kısmına aşağıdaki kaplamalardan birini atayın.

1- Combi (Birleşik Dış hat)
Derinlik, zıtlık ve ışık yönü hassasiyetli özelliklerinin hepsine birden sahip dış hat tipidir. Near Z, Color, Width; yakınlık mesafesi, rengi ve yüzde olarak kalınlığı kontrol eder. Far Z, Color, Width; uzaklık mesafesi, rengi ve yüzde olarak kalınlığı kontrol eder. Depth Factor, derinliğin kalınlığa etkisini kontrol eder. Light ile etki edecek ışığı seçebilir yada boş bırakarak sahnedeki tüm ışıkların etki etmesini sağlarsınız. Light Min Width Factor, ışık yönünün kalınlığa etki miktarını kontrol eder.

2- Curvature (Açısal Dış hat)
Kalınlığını yüzeyler arası açıya göre belirlenen dış hat tipidir. Color, dış hat rengini belirler. Min Width, yüzey açısının kalınlığa en az etki miktarını; Max Width ise en fazla etki miktarını belirler.

3- Depth Fade (Derinlikli Dış hat)
Yüzeylerin kameraya olan uzaklığına göre kalınlığının belirlendiği dış hat tipidir. Combi ‘deki Near Z, Color, Width, Far Z, Color, Width değerleri ile eşdeğer çalışır.


4- Factor Color (Karşıt Renkli Dış hat)
Malzemenin ana rengine karşılık gelen rengin otomatik belirlendiği tiptir. Factor karşıtlık miktarını, Width ise yüzde cinsinden kalınlığa etki miktarını belirler.

5- Layer Thinner (Zıtlık Hassasiyetli Dış hat)
Kalınlığı, Contour Contrast Function Levels kaplamasına göre belirlenen, yani resmin tonlamasına göre belirlenen dış hat tipidir. Color, dış hat rengini belirler. Width, yüzde cinsinden kalınlığı belirler. Depth Factor ise, resmin tonlarının dış hat kalınlığına etki miktarını belirler.

6- Simple (Basit Dış hat)
Tüm kenarların aynı kalınlığa sahip olduğu dış hat tipidir. Color, dış hat rengini belirler. Width, kalınlığı belirler.


7- Width from Color (Renk ve Ton Hassasiyetli Dış hat)
Ana malzeme renk ve tonuna göre kalınlığı otomatik belirlenen dış hat tipidir. Color, dış hat rengini belirler. Min Width, renk ve tona göre çizginin en az kalınlığını; Max Width, en fazla kalınlığını belirler.

8- Width from Light (Işık Yönü Hassasiyetli Dış hat)
Kalınlığı ışığın yönüne göre otomatik belirlenen dış hat tipidir. Color, dış hat rengini belirler. Min / Max Width, en az ve fazla dış hat kalınlığını belirler. Light ile etki edecek ışık seçilebilir. Boş bırakılarak sahnedeki tüm ışıkların ortak etkisi alınabilir.

9- Width from Light Direction (Yön Hassasiyetli Dış hat)
Kalınlığı kaplama parametreleri tarafından belirlenen sanal ışığa göre otomatik ayarlanan dış hat tipidir. Color, Min ve Max Width bir önceki dış hat tipi ile eşdeğer çalışır. Farklı olarak, Light Direction bölümünden X, Y ve Z ‘ye girilen değerler baz alınarak o yönden ışık vuruyormuş gibi kalınlık verilir.


Dış hat tiplerine ek olarak dış hat karşıtlığı (Contour Contrast / Contour Contrast Function Levels) ve dış hat çıktı (Contour Output) tipinde değişiklikler yapmak mümkündür

(Render Setup / Renderer / Contours). Değişiklik yapabilmek için dilerseniz ilgili kutucuktaki kaplamayı sürükle bırak ile malzeme düzenleyicisindeki kullanılmayan bir alan Instance olarak kopyalayabilir ya da  Get Material / Browse from: Scene komutu ile yine malzeme düzenleyicisinde kullanmadığınız bir alana çağırabilirsiniz.

Bu işlemin tam terside geçerlidir. Yani istediğiniz dış hat kaplama tipinin yenisini, sıfırdan malzeme düzenleyicisinde ayarladıktan sonra uygun alana sürükleyip bırakabilir yada çağırabilirsiniz.


1- Contour Contrast Function Levels
Render sonucunda nerelere ve nasıl dış hat uygulanacağını belirleyen ana parametrelere sahiptir. Z Step Threshold, mesafeye bağlı çizgi tiplerindeki en uzak mesafeyi belirler. Angle Step Threshold, yüzey açısına göre uygulanan dış hatlardaki en düşük açıyı belirler. Material Contours, farklı her malzemenin çevresine dış hat uygular. Face Contours, her yüzeye dış hat uygular. Color Contrast Contours, renk ve ton karşıtlığından etkilenmeyi etkinleştirir. Min / Max Depth dış hattın yansıma ve kırılmalarda da hangi seviyeye kadar takip edilip, uygulanacağını belirler. Mesela yansıma ve kırılmaların ilk takibinde dış hat uygulanmasını istiyor iseniz Min değerini 1 yapmanız gerekir.

2- Contour Store
Dış hattın saklanma ve Render sonucuna uygulanmasına dair teknik bilgileri içerir. Değiştirilebilir parametreye sahip değildir.

3a- Contour Output: Contour Composite
Dış hatların Render sonucunun üzerine uygulanmasını sağlar. Glowing Contours, dış hatlar kalın ve karanlık görünüyor ise bu parametre ile bir nebze inceletebilirsiniz. Composite Using Max Color ile üst üste gelen dış hatların karıştırılarak uygulanmasını sağlarsınız.


3b- Contour Output: Contour Only
Render sonucunu tek renge boyayarak sadece dış hattın uygulanmasını sağlar. Background Color, artalan rengini belirler. Diğer parametreler önceki ile eşdeğerde çalışır.

3c- Contour Output: Contour PS (PostScript)
Render sonucunda elde edilen dış hatları PS (PostScript) dosyası olarak çıktı almanızı sağlar. Böylece dış hatları Illustrator, Indesign, Corel, Quark gibi PostScript desteği olan yazılımlar ile açabilir ve / veya düzenleyebilirsiniz. PS dosyaları baskıya özelleşmiş oldukları için kaplamanın sahip olduğu parametreler de bu doğrultudadır. Paper Size, kodlama ile kâğıt boyutunu belirler. 0 = "letter", 1 = "executive", 2 = "legal", 3 ile 6 arası = "a3", "a4", "a5", "a6", 7 ile 9 arası ="b4", "b5", "b6", 10 = "11x17". Scale, çıktının girilen değer katınca üstüne çıkmasını sağlar. Transform B ve D değerleri çıktı şeklini kontrol eder. Mesela, B =1, D=0 durumunda hafif eğik gözükecektir. Title, sahne adı ve kare bilgisinin sayfanın tepesine yazılmasını sağlar. Landscape, sayfayı 90 derece yatırır. Stroke Dir, girilen X, Y, Z değerlerine göre keçeli kalem etkisi verir. Min Frac, keçeli kalem görünümünde çizgi kalınlığın en yüksek değerini belirler. Filename, Render sonucunda kaydedilecek PS dosyasının konum ve ismini belirlemeye yardım eder.


CELL SHADING (TONLAMALI GÖLGELEME)

Mental Ray varsayılan olarak nesneler üzerinde gerçekleşen çizgi film tonlamasını kontrol edecek kaplama türüne sahip değildir. Piyasada üçüncü parti çizgi film tonlaması araçları mevcuttur. İmkânlarınız doğrultusunda bunları edinip, yükleyip kullanabilirsiniz. Ancak 3DS MAX ‘in sahip olduğu Falloff  ve Gradient Ramp  kaplamaları ile de bu açık ziyadesi ile kapatılmaktadır.

1- Falloff ile Çizgi Film Tonlaması (Cell Shading)
Standart Malzeme kullanarak başlıyoruz. Self Illumination değerini 100 birim olarak ayarlayın.

Diffuse kaplamasına, listeden seçerek Falloff atayın (3D Maps grubunda yer almaktadır).

Falloff Type ‘ı Shadow / Light olarak değiştirin. Tonlama ışığın açısına göre otomatik ayarlanacaktır. Üstteki renk (Shaded) koyu bölgeyi, alttaki renk (Lit) aydınlık bölgeyi temsil etmektedir.

Renkleri istediğiniz gibi değiştirebilirsiniz. Aşağıda yer alan Mix Curve ise tonlama eğrisidir.

Mix Curve bölümünden Add Point komutu  ile eğriye noktalar ekleyin. Move komutu  ile noktaları merdiven basamağı şeklinde dizin.

Noktaların konumunu değiştirdiğinizde tonlamanın nasıl olacağını alttaki siyah / beyaz renk geçişinden kontrol edebilirsiniz. Noktalar arasındaki dikey farklılık ara tonların devreye girmesine sebep olacaktır. Noktaları daha hassas kontrol etmek için Move komutunun üzerine tıklayıp bir süre bekleyin. Alt komut olarak yatay ve dikey sınırlı hareket ettirmeyi göreceksiniz.

Ara tonların önüne geçmek için dilerseniz bu komutları kullanabilirsiniz. Bir kontrol noktası diğerini yatay olarak geçemeyeceği için yatay geçişlerde hata olması mümkün değildir. Noktaların üzerine sağ tıklayıp, tipini değiştirerek (Corner, Bezier-Smooth, Bezier-Corner) tonlama üzerinde daha fazla kontrole sahip olabilirsiniz.

Noktaları seçip Delete Point komutu  ile silebilir yada eğirinin tamamını Reset Curve komutu  ile sıfırlayabilirsiniz.


Dilerseniz Bump kanalına atayacağınız kabartı dokusu ile gravür ve oyma etkisi de verebilirsiniz

(mesela Tile arttırılmış Gradient kaplaması).

Bunun için kaplamanın Explicit (nesnesel)

yada Screen (çevresel)

düzleme göre kaplanmasını öneriyoruz. Explicit düzlemde hacim hissi artacak, Screen düzleminde ise gravür etkisi artacaktır. Eğer dış hattı aktif hale getirdi iseniz Bump miktarı arttıkça dış hatların malzemenin içine de etki ettiğini görebilirsiniz. Bunun önüne geçmek için dış hattı harici olarak hesaplatarak, kompozisyon aşamasında birleştirerek çözebilirsiniz.

Aynı yöntemi Mental Ray ham malzemesi ile gerçekleştirerek gereksiz ve kullanmadığınız parametreleri devre dışı bırakabilirsiniz. Bunun için önce yeni malzeme tipi olarak Mental Ray malzemeyi seçin. Surface kaplamasına öncekinde olduğu gibi Falloff atayarak dilediğiniz şekilde ayarlayın.

Gravür görünümü için yine Bump kanalını istediğiniz. Lakin önce Bump (3dsmax) kaplamasını seçmeniz,

onun altına dilediğiniz dokuyu atamanız gerekiyor. Bump (3dsmax) kaplamasındaki Multiplier değeri kabartı dokusunun etki miktarını kontrol etmektedir.
Bu yöntem her ne kadar zahmetli gibi gözükse de renk ve tonlama üzerinde tam hâkimiyet vermektedir. Malzeme ayarlarında bir üst kademeye çıktıktan sonra Mental Ray Connection / Contour bölümünden dış hat eklemeyi unutmayın. Aksi durumda sadece nesnenin yüzeyi çizgi film tonlamasına sahip olacaktır.


2- Gradient Ramp ile Çizgi Film Tonlaması (Cell Shading)
Gradient Ramp kaplaması da Falloff ‘e benzer şekilde kullanılır. Ama Falloff ‘un aksine Self Illumination kanalına atamak gerekir. Bu da aydınlık / karanlık bölgeler arası renk seçimini zorlaştırır ve ara tonların gözükmesine sebep olabilir. Önce Diffuse Color ‘ı dilediğiniz renge ayarlayın

ve Self Illumination kanalına Gradient Ramp atayın.

Gradient Type ‘ı Lighting olarak seçin. Interpolation ‘ı Solid olarak değiştirin. Böylece tonlama ışığa göre ve ara geçişler en aza indirgenerek yapılacaktır. Renk geçişi alanı üzerine sol tıklama ile anahtar ekler, anahtarın üzerine çift tıklayarak tonunu değiştirebilirsiniz.

Tavsiyemiz anahtarları Custom Interpolation ‘da oluşturduktan sonra Solid ‘e geçmenizdir. Aynı yöntemi Mental Ray malzeme ile de kullanmak mümkündür

ama tonlama başına her rengin tek tek ayarlanmasını gerektirir. Falloff ‘ta olduğu gibi aydınlık / karanlık, 2 renk seçimi mümkün değildir. Gravür etkisi bir önceki malzemede olduğu gibi oluşturulmaktadır.
Falloff malzemede olduğu gibi Mental Ray Connection / Contour bölümünden dış hat tipi belirlemeyi unutmayın.


Ink’n Paint Malzeme
Ek olarak 3DS MAX ‘in Ink’n Paint malzemesi de Mental Ray ile uyumludur ve sorunsuz şekilde çalışmaktadır. Tek eksiği dış hat kalınlığı belli bir seviyenin üstüne çıkmamasıdır. Mental Ray Render motorunun Raytrace altyapısı güçlü olduğu için en üst kalitede iken bile hızlı sonuç alınmaktadır.

Bu bağlamda denemenizi tavsiye ederim.

Gölgeler (Shadows)
Mental Ray ile çizgi film tarzı gölgeleme yaparken gölge kullanımında herhangi bir kısıtlama yoktur. Desteklediği tüm gölge tipleri kullanılabilir. Gölgelerin tonlaması üzerine düştüğü nesnenin malzeme ayarları göz önüne alınarak yapılacaktır. Shadow Map malzeme ayarları ile tam uyumlu şekilde tepki verirken Mental Ray Shadow Map daha az etkilenmektedir. Tam keskin gölgeler içinse Ray Traced Shadows kullanmanız gerekmektedir.

FG ve GI (Final Gather ve Global Illumination)
Yukarıda anlattığımız yöntemler ile oluşturulan sahnelerde etkisini gösteremeyeceği için hesaplatmayı uzatmaktan başka bir işe yaramayacaktır. Bu yüzden kapalı tutmanızı öneriyorum. FG ve GI desteği olan üçüncü parti çizgi film gölgeleyiciler ile kullanımı için, ilgili gölgeleyicinin destek dokümanlarına başvurabilirsiniz.


Bitti
Az esprili, hafif sıkıcı ama bol eğitici bir yazının daha sonuna geldik. Aslına bakarsanız -bu tarz yazmak pek hoşuma gitmesede- yerelleştirme gibi oldu. Lakin Mental Ray ve etkin kullanımı üzerine türkçe kaynak bulmak oldukça zor. Bu bağlamda umarım faydası olur.
Bu yazıdan geçen konuları ve daha fazlasını www.sanalogretim.com adresindeki görüntülü eğitim setleri ve yakında çıkacak kitaplarından takip edebilirsiniz. Bilgisayar grafiği üzerine aklınıza gelen her konuda yazmayı (osmansafi@gmail.com) ihmal etmeyin. Bir sonraki sayıda görüşmek üzere hoşçakalın.

2 yorum:

  1. Harika bir eğitsel yazısı hazırlamışsın Herbap.
    Başarılarının devamını dilerim.

    YanıtlaSil