3D Animasyoncular arasındaki en temel fonksiyonel çatışmalardan biri Shader-Materyal ikilemidir. Kapsayıcılık konusunda birçok görüş mevcuttur. Kabullendiğimiz görüş Shader> Materyal sistemidir. Yazımız da bunun üzerine olacak.
Shader (Gölgelendirici, Şemsiye ?)
Shader 3d dizayn düzleminde konuşursak bir cismin ışıkla nasıl etkileşime gireceğini kontrol eden çeşitli parametreler bütünür. Bir konteynerdir. Pakettir. Genel olarak diffuse, specular, reflection, refraction, emission, transmission, bump, normal, displacement, opacity, environment gibi parametreler taşır. Shader kapsayıcıdır. Öz'dür. Tek bir shader modeli sayesinde elimizdeki belirli bir mesh'in (shadersiz cisim) birbiriyle hiç alakası olmayan su, taş, tahta,cam, süt, et gibi cisimler olarak davranmasını sağlayabiliriz. Aşağıda bazı shader örneklerini görebilirsiniz :
3d Studio Max, Maya ve Cinema 4D Materyal Editörleri... Şimdi hade len bunlar shader falan değil materyal demeden önce bi dinleyin abiler. Siz de haklısınız. Hepsi materyal düzenleme arayüzleri. Fakat her birini dikkatle inceleyin. Örneğin öngörünüm kürelerine bakın. Neden hepsi siyah ?
İşte bu nokta Shader'ın oğlu Materyalin doğduğu noktadır.
Resimlerde gördüğünüz gibi herhangi bir materyal yapabilmemiz için bütün parametreler mevcut fakat parametrelerin hiçbiri aktif değil/değer girilmemiş ve bu "materyal"i herhangi bir cisme atarsanız ışıkla hiçbir etkileşimi olmaz. Bu yüzden yukarıda üç tane birbirine benzer Shader modeli mevcuttur. Eğer Shader'a parametre girilirse, örneğin Diffuse kanalı aktif edilip yeşil bir renk verilirse en basit haliyle yeşil mat duvar materyali elde etmiş oluruz. Aynı kanala ağaç texture'u atarsanız ağaç materyaliniz olur. Reflection ve Refraction kanallarını aktif ederseniz nur topu gibi bir camınız olur, IOR'u değiştirirseniz al sana su, elmas, Diffuse, Bump, Displacement kanallarına bir taş texture'u atarsanız taş gibi gerçekçi bir taş materyaliniz olur. Saydığımız bütün materyaller tek bir Shader modelinden doğmuştur. Shader karmaşasının esas nedeni zamanla değişik parametreler taşıyan modellerin doğmasıdır. Bu da shaderin genelden özele inmesi demektir. Aynı zamanda kullanıcıların işini de kolaylaştıran bir durumdur.
Bazı genel örneklerine bakalım
Toon/Ink&Paint Shader
Cismin ışıkla çizgi film tarzında etkileşime girmesini sağlar. Kendine has Lighted Color, Shaded Color, Highlight Color, Ink Color, Ink Width, Outline Color, Outline Width, Stroke gibi standart shader modelinden farklı parametreleri bulunur. Aynı şekilde bu shader'a da parametre girdiğinizde bir cisme özel Toon materyali elde etmiş olursunuz.
Car Paint Shader
Bu tür adından da anlaşılacağı gibi araba boyası oluşturmak için kullanılan özel bir shader türüdür. Modern araba materyalleri çeşitli katmanlardan oluşur. En basit haliyle ilk katman boyanın rengini içermekle birlikte, içinde parlamayı iyice artıran Flake denilen mikro metal parçacıklar bulunur. Bunun üzerine coating denen cilalı parlak yüksek yansımalı bir katman daha eklenir. Bu shader tipinin özel parametreleri Flake Color, Flake Size, Rotation, Seed, Coating Color, Strength vs. dir. Parametrelerine değer girdiğinizde ne olur ? Araba boyası materyali olur.
Hair Shader
Adı üstünde saç materyalinin konteyneridir. Saça müdahale etmek için gereken kendine has Thickness, Length, Scale, Frizz, Kink, Curl, Bend vb. parametreleri bulunur.
Skin/SSS Shader
Bu da daha önce bahsettiğimiz SSS materyalleri oluşturmak için özelleştirilmiş bir shader türüdür. Kendine has parametreleri SSS Amount, Radius, Layer Colors, Weight vb...
Shader çeşitliliği tamamen üreticilerin insiyatifinde olan bir durumdur. Octane Universal, Arnold Standard ya da Redshift Standard Shaderi ile SSS, Car Paint, Toon&Ink Materyalleri üretebilirsiniz.
Texture (Doku)
Texture en basit haliyle shader'in parametlerine girilen renk, dokui patern bilgisidir. Texture bir bitmap resmi olabilir ya da Noise, Tile, Fresnel gibi parametrik fonksiyon olabilir. Shader'ın herhangi bir parametresini süren renk bilgisidir. Standart shaderlarda bulunan bütün parametreler renk bilgisi kabul ederler. Diffuse, Reflection, Refraction, IOR, Bump vs. aklınıza gelebilecek birçok kanal renk bilgisiyle sürülür. Örneğin yeşil bir duvarın üstüne fırçayla resim yapıldığını düşünün. Bunu kabaca düşünürsek Photoshopta yeşil üzerine resminizi boyayıp bunu Diffuse kanalına atarsanız istediğiniz materyali elde etmiş olursunuz. Fakat gerçeğe daha uygun bir materyal elde etmek isterseniz öncelikle yapıyı bileşenlerine ayırmamız gerekir.
1 - Duvar rengi = Diffuse Color
2 - Duvar Yansıması = Reflection Strength, Color.
3 - Yansımanın saçılması = Reflection Roughness/Glosiness (Ayna gibi duvar olmaz)
3 - Duvardaki mikro düzensizlikler = Bump Map, Normal Map
4 - Düzensizlikler şiddetli ve büyük ölçekteyse = Displacement Map
5 - Boya renkleri = Diffuse Color
6 - Boyanın kendine has Yansıması = Reflection Strength, Color, Roughness/Glosiness
7 - Fırça darbelerindeki, fırça yönünde mikro kıl izleri = Bump Map, Anisotropy Map.
Aklımıza geldiği kadar bileşenleri gösterdik. Gerçekçi bir duvar yapmak adına her bileşen için ilgili parametreyi süren bir texture map'in olması gerekir.
Son olarak yazılımdan yazılıma, render motoruna ismi değişebilen fakat özellikleri aynı olan bazı parametreleri yazalım.
Diffuse - Albedo = İkisi de materyalin temel rengini ifade eder.
Transparency - Refraction - Transmission = Üçü de materyalin ışık geçirgenlik özelliklerini kontrol eder.
Reflection - Specular = İkisi de materyalin yansıma özelliğini kontrol eder.
Roughness - Glossiness = İkisi de yansıma/kırılmanın bulanıklığını, netliğini kontrol eder. Tek farkları roughness kendisine bağlanan texture'ün parlak, beyaz kısımlarını bulanık, karanlık kısımlarını net yaparken, glossiness bunun tam tersini yani parlak, beyaz kısımlarını net, karanlık kısımlarını bulanık yapar.
Dispersion-Abberation = İkisi de renk frekanslarının ayrışmasını ifade eder.
Emission - Self Illumination = İkisi de materyali ışık kaynağı olarak gösterir.
Şimdilik nokta koyalım.
Selametle kalın.
Comments