1 Ağustos 2011 Pazartesi

3DSMax ile M. C. Escher Tarzı Helezonik Kesimli Kafa Yapımı


Helezonik, kesmek ve kafa kelimelerini arka arkaya yazınca kendimi seri katil gibi hissettim bir an. Merak etmeyin bu çalışmayı yaparken kimsenin kafasına zarar gelmeyecek. Hele zonik olarak hiç kesilmeyecek J.

Gerekli malzemeler,
  1. 5x5x3 cm3 tahta blok, 10x10x5 cm3 granit blok, çivi, çekiç… dermişim J (bunu yapmadan duramıyorum)
  2. 3DSMax 2009 (daha düşük sürümü de olur, ama ProMaterials özelliği 2009 sürümü ile gelmiştir)
  3. Orta seviye 3DSMax ve Mental Ray bilgisi
KISACA

3D ile uğraşıp M. C. Escher ‘i tanımayan varsa (1898-1972) çok şey kaçırmış diyebilirim. Hiç zaman kaybetmeden www.mcescher.com yahut www.worldofescher.com gibi sitelerden hayatı ve çalışmaları hakkında bilgi edinebilirsiniz. Kendimi hakkında atıp tutmaya yetkin görmediğim için bu işi google’a devredip, çalışmalarına hayranlıkla bakmaya devam ediyorum. Tek söyleyebileceğim, yaşadığı tarihler ile ortaya koyduğu eserleri karşılaştırdığınızda, önümüzde duran teknoloji harikası (!) bilgisayarlar kendimizi ne kadar zavallı hissetmemiz gerektiğidir.

NESNEYİ MODELLEME
Elinizde bir elma ve bıçak (!) var. Başladınız soymaya. Eminim, gurur yapıp kabuğu koparmadan soymaya çalıştınız. Kaç kere başarılı oldunuz bilemiyorum ama emin olun bu iş 3DSMax ile daha kolay ve tehlikesiz. Sanal ortam olduğu için bir tarafınızı kesme, kanatma derdiniz de yok.

Her şeyden önce bir kafa nesnesi modellemeniz ya da bulmanız gerekiyor. İnternet üzerindeki 3D malzeme alışveriş sitelerinde bedava dağıtılan kafa nesneleri var. Bunları indirerek kullanabilirsiniz. Unutmamanız gereken, Boolean işlemi kullanacağız ve dahil edilecek tüm nesneler tam kapalı olmalıdır. Aksi takdirde istenmeyen sonuçlar doğurabilir. Kafa nesnesi meselesini hallettiğinizi düşünerek sonraki adıma geçiyorum.
Nesneyi bulduktan (yada modelledikten) sonra kafa ile eksiksiz kesişecek helezonik nesneyi oluşturmak önümdeki en büyük problemdi. Onlarca deneme yapmama rağmen tatminkar bir sonuç elde edemedim. Çözümler genelde olmadık zaman, mekanlar ve durumda gelir. Tahmin ettiğiniz gibi WC’de geldi. Kağıt kalem taşıma alışkanlığı edinmem gerekliliğini tekrar hatırladım.

Her ne kadar istediğimiz helezonik modelini üretsek bile Mesh tabanlı Boolean işlemi ile temiz sonuç elde edilememesi ayrı bir problem. Eğer bu tekniği NURBS tabanlı modelleme programlarında deneme şansınız var ise sonucu paylaşırsanız sevinirim. Oldukça temiz yüzey kesikleri çıkması gerek diye düşünüyorum. (Bu satırları yazarken bir taraftan Rhino ile NURBS modellemeye çalışmıyor da değilim. Basit bir küre kesmiş olsam da ortaya çıkan şeklin kusursuzluğuna hayran olmamak elde değil. NURBS modelleme araçları Mesh tabanlı araçlara göre çok daha gelişmiş olduğu için farklı çözümler üretmeninde mümkün olduğunu anlıyorum). Biz gelelim elimizdeki Mesh kafayı kesmeye.
1- Sağ taraftaki komut panelinden, Create / Shapes / Helix ile helezonik nesneyi oluşturun. Oluştururken üst görünümde kafa nesnesinden çok büyük olmamasına dikkat edin. Ortalama bir yükseklik değeri girin. Turn değerine 4 ya da 5 girin.

2- Helix nesnesini seçin ve Extrude Modifier’ını atayın. Extrude değerini eşit aralıklı olacak şekilde ayarlayın. Modifier listesinden Shell’i seçerek nesneye atayın. Kalınlığı içeri doğru olacak şekilde değeri arttırın. Yüzey dağılımını eşit tutmak adına Segments değerini arttırabilirsiniz.

3- Boolean işlemi uygulayacağımız nesneler hazır. Eğer elinizdeki kafa nesnesi yeterince yumuşak görünmüyor ise, (daha hızlı olduğu için) TurboSmooth ile yüzey örülümünü arttırıp, yumuşatabilirsiniz. Unutmamanız gereken eğer yüzey sayısını abartırsanız Boolean işlemi de ağırlaşacaktır. Şimdi nesneleri etkileşime sokalım. Önce kafa nesnesini seçin. Komut panelinden Create / Geometry / Compound Objects / ProBoolean’ı seçin. Parameters ‘in altından Intersection’ı işaretleyip, önce Start Picking’e sonra Helix’e tıklayın. Tebrikler kafayı yonttunuz. Estetik bir görüntü oluşması açısından gözlerin ve ağzın kesilmesini istemiyoruz. Bunu sağlamak için Boolean işleminden sonra Modifier paneline geçip

ve ProBoolean’in alt nesnelerine girerek yukarı aşağı hareket ettirebilirsiniz. Listeden hangi nesne seçili ise o hareket edecektir. Nesnelerin yüzey sayısına göre işlemin sonucu gerçek zamanlı görebilirsiniz.

4- Dilerseniz Boolean işleminden önce kafa ve helezon nesnelerine farklı Material ID’ler vererek ve işlem sonrasında Material ID’ye göre seçim yapıp, silerek sadece dış yüzeylerin kalmasını da sağlayabilirsiniz. Bu isteğe bağlı bir adım olduğu için detaylandırmıyorum.
5- Son olarak Vertex Weld Modifier’ı ile gireceğiniz değerde birbirine yakın olan noktaların rasgele kaynaşmasını sağlayarak, taşa oyulmuş hissini kuvvetlendirebilirsiniz.
Bittiii! Nasıl ama 3 adımda modelledik, kolaymış değil mi?
Eski kullandığım metoda da değinmek istiyorum. Eski teknikte yüzeye kaplamalar ile müdahale ederek kesiyoruz.
1- Önce nesneye dama desenli standart malzeme atayın. Damalı dokunun koordinat ayarlarından U Tiling değerini 0 olarak değiştirin. U Mirror değerini de işaretleyin. Böylece dikey döşemeyi ortadan kaldırdık. Malzemeyi nesneye atayın ve çalışma penceresinde gösterilmesini işaretleyin.

2- Nesneye uygulayacağımız kesiklerin pürüzsüz olması için yüzey sayısını oldukça arttırmak gerekiyor. Tercihen TurboSmooth ile nesnenin yüzey sayısını arttırıyoruz. Miktarı size kalmış. Unutmamanız gereken abartırsanız işlemlerin ağırlaşacağı.
3- Silindirik UVW mapping atıyoruz Fit komutu ile tüm nesnenin sınırlarına oturmasını sağlıyoruz. UVW Xform ile kaplama detaylarını tek elden yönetmiş olacağız. V Tile değerini 6 yapıyoruz. Rotation değerini 40’lara getirin ve nesnenin arkasını çevirerek kesişim bölgesini kontrol edin. Bendeki nesnenin boyutlarına göre 41.8’lik açısal değer ile kesişim yeri belli olmadan dokuyu döşenir hale getirdim.

4- Listeden seçerek Volume Select Modifier’ını nesneye atıyoruz. Selection Level olarak Vertex’i işaretliyoruz. Surface Features bölümünden Texture Map’i seçiyoruz. Malzeme düzenleyicisinden nesneyi kaplamak için kullandığımız damalı dokuyu buradaki kutucuğa sürükleyip bırakıyoruz. Dokunun tonlamasına göre noktaların seçildiğini göreceksiniz. Delete Mesh Modifier’ı ile seçili noktaları siliyoruz. Dilerseniz bir önceki adıma dönerek Invert’i seçip diğer noktaların silinmesini sağlayabilirsiniz. Mesh Select ile seçimi kapıyoruz.
5- Shell ile içeri doğru kabartı veriyoruz. Relax atayıp formu bozmayacak miktarda yumuşatıyoruz. Son olarak Smooth Modifier’ı ile de görünümünü yumuşatabilirsiniz.

Bu da bittiii! Eh biraz daha karışık öncekine göre. İki metodu da uygulayarak ne elde ettik? 2 tane kesik kafamız oldu J.
SAHNENİN OLUŞTURULMASI
Kafa modelinin altında bir ChamferBox oluşturun. Üstten baktığınızda kafanın sınırlarını geçmesine gerek yok. Çok kalında olmasın. Kenar kıvrımını da abartmaya gerek kenarlarda ışık parlaması oluşturacak kadar bir değer yeterli.

Sahne zeminini oluşturalım. Eğri araçları ile sol görünümde büyükçe (diğer elementleri kapsayacak kadar) bir L çizin. Fillet komutu ile köşesini yumuşatın. Extrude ile derinlik kazandırın. Bend ile U şeklini alana kadar bükün. Elde ettiğimiz final şekli Lathe ile elde etmekte mümkün ama Lathe ile rahat kontrol edebiliyoruz. En basitinden Lathe ile düz bir sahne zemini elde etmek mümkün değil.

Son vaziyet planı şu şekilde oldu. Kesik kafa, altında taban, en altta sahne zemini. Kafa ve taban, sahne zemininin ortasında.
MALZEME AYARLARI
Aslında hazır malzeme kullanmak pek tercihim değildir. Ama 3DSMax 2009 ile gelen Mental Ray / ProMaterials serisi kullanılmayacak gibi değil. Hem gerçekçiliği yakalamak için verilen parametreler makul sayıda hem de optimizasyon basitleştirilmiş. ProMaterials öncesi kullanılan Arch&Design malzemeleri oldukça yüksek sayıda parametre içeriyor idi. Malzemeye daha fazla hakimdiniz ama doğru ayar için harcadığınız zaman artıyordu. Alışmak için de zaman gerekiyordu. ProMaterials ile basit ve hızlı çözümler üretebilirsiniz.
Fazla uzatmadan hangi malzemeleri nasıl kullandığımı yazayım. Stüdyo zemini için ProMaterials: Generic, kullanıyoruz. Zeminin parlaklığa ihtiyacı olmadığı için Surface Glossiness değerini 0.2 olarak değiştiriyoruz.

Taban için ProMaterials: Hardwood kullandım. Stain özelliğini açarak vernikli gibi görünmesini sağlıyoruz. Base Hardwood ana dokuyu belirliyor. 3DSMax’in Procedural ağaç dokusunu kullandım ve gözüme hiç bu kadar güzel gözükmemişti. Surface Finish değerini Satin yaparak parlamayı azaltıyoruz. Application Type kısmını Furniture olarak değiştiriyoruz. Surface Imperfection değerini Automatic, Amount değerini 0.4 olarak değiştiriyoruz. Böylece dokuya göre otomatik kabartı yapmasını sağladık.

Kafa nesnesi için ProMaterials: Stone’u seçiyoruz. Fondan daha rahat ayrılması için rengi kızıllaştırdım. Surface Finish değerini Glossy olarak değiştirin. Böyle dağınık parlama elde edeceksiniz. Surface Bumps değerini Glossy Marble olarak seçin. Amount değerini 0.1 olarak azaltın.

Son olarak Render süresini azaltmak adına tüm malzemelerin örnekleme değerlerini küçültmemiz gerekiyor. Tüm ProMaterials’lerde bulunan “Performance Tuning Parameters” altındaki Samples değerlerini 4 olarak değiştirin. Trace Depth değerlerini ana Render ayarlarından azaltacağımız içi buradan tekrar değiştirmeye gerek yok.
Tüm ProMaterials serisinde bulunan ve nesnelerin birbirine yakın olan bölgelerinin kararması olarak açıklayabileceğimiz Ambient Occlusion’ı aktif hale getirerek sahnenizdeki inandırıcılık etkisin arttırmış olursunuz. Samples değerine 8 ve Max Distance değerine 10 girin. Kararma etkisi 10 birimlik mesafede etkili olacaktır.
Aslına bakarsanız azalttığımız tüm Sampling değerleri Render’da bize grenli, karıncalı görüntü olarak geri dönecektir. O yüzden dengeyi iyi kurmak gerekiyor. Bu sahne için aldığım test Render’larındaki gren miktarı beni rahatsız etmedi hatta mutlu bile etti, çünkü gerçek fotoğraf kâğıdı etkisine katkısı oldu.
AYDINLATMA AYARLARI
Işıkların konumunu nesneye bakış açımıza göre belirlememiz daha doğru olacak. Ama kompozisyonu önceden kafamızda kurmuş isek kameradan önce ışıkları konumlandırmak ta mümkün.
Nesnenin altına koyduğumuz tabanı, yukarı doğru bakan kafa modelini ve kesim biçimimizi göz önüne alınca bulunduğu konumdan yukarı doğru çıkmaya, kurtulmaya çalışan bir insan tasavvur ettim. O yüzden ilk ışığı yukarıdan, yani ulaşmaya çalıştığı noktadan verdim. Nesneye sağ önden ve yukarıdan bakacak şekilde konumlandırdım. İkinci ışığı kameranın biraz üstünde ve arkasında konumlandırdım. Böylece formun kaybolmasının önüne de geçmiş olduk.

Işıkların detayına gelince. Tip olarak Photometric / Target Light kullandım. Bu ışık tipini ilk oluşturduğunuzda Exposure ayarları ile ilgili uyarı verecektir.

Onaylayarak geçin. Gölgeyi aktif hale getirin ve Ray Traced’ı seçin. Distribution Type olarak Spotlight’ı seçin. Işık hunilerinden ilkini nesneyi tam kapsayacak şekilde, ikincisini de uzaklaştıkça azalacak şekilde ayarlayın. Işığın Intensity değeri ile Exposure Control bölümündeki ayarlar birbirine bağlıdır. (Rendering / Exposure Control) Expsoure Control bölümünden Exposure Value değerini 0.5 olarak değiştirin. Işığın şiddetini 3000 cd olarak değiştirin. Aydınlanma miktarını kontrol etmek için Exposure Control bölümündeki Render Preview yardımı ile hızlı ön izleme almanız mümkün.

Kontrast / doygunluk ile ayarları Image Control bölümündeki Highlights / Midtones Shadows değerleri ile oynayarak yapabilirsiniz. Bu ayarlar Photoshop’takine çok benzer. Değerleri 0.3 / 1.0 / 0.3 olarak değiştirdim. Siz de sonucunu gözlemleyerek istediğiniz şekilde değiştirin.

Yeniden ışık ayarlarına dönelim. Area Shadow bölümünden Shape’i Rectangle olarak seçin. en ve boy değerlerini 200 birim girin. Bu değerler ne kadar artar ise ışık o kadar dağılacak ve gölgeler yumuşayacak, küçük olduğunda ise sert ışık ve keskin gölgeler elde edeceksiniz. Hangisinin Render süresini arttırdığını belirtmeme gerek yok herhalde J. Shadow Samples değerini 16’ya düşürerek Render süresine katkıda bulunabilirsiniz.
Unutmadan belirteyim, ikinci ışık birinci ışığın Instance kopyası yani tıpkısının aynısı. Yaptığımız ayarlar iki ışık kaynağı içinde geçerlidir.
KAMERA VE KOMPOZİSYON
Kullandığınız teknik ne olursa olsun kompozisyon bir çalışmanın değerini arttıracak hatta belirleyecek kriterdir diye düşünüyorum. İstediğiniz modelleme tekniği ya da istediğiniz Render motorunu kullanın ama nafile. Tüm olay kompozisyondur. Çünkü izleyene anlatmak istediğinizi, kurguladığınız kompozisyon ile verirsiniz. Işığın nereden geldiği, nesnelerin ilişkileri, formları, duruşları… gibi tüm değerler kompozisyonla anlam kazanır.
Kamerayı nesnenin sol önüne konumlandırıyoruz. Nesneyi, kadrajın sağ üstünde boşluk kalacak şekilde konumlandırıyoruz. Nesnenin baktığı doğrultuda vereceğimiz boşluk kompozisyonu rahatlatacaktır. Dilerseniz gölgeleri bu boşluğu dolduracak şekilde kullanabilirsiniz. Kameranın üstündeki ikinci ışığı sola taşıyarak bunu rahatça sağlayabilirsiniz.

Alan derinliğini sağlamak için çok profesyonel bir ayara gerek yok. Yapmanız gereken önce kamera seçili konuma getirmek. Kamera ayarlarından, Multi-Pass Effect’i aktif hale getirin ve Depth of Field (mental ray)’i seçin. f-Stop değerini azalttıkça odak dışında kalanların bulanıklığı artacaktır. Kullandığım sahne için 0.2 olarak belirledim değeri.

f-Stop değerinin en doğru sonucuna deneyerek ulaşırsınız. Bunun için standart malzeme ile açık renkli, damalı doku oluşturun. Ardından Render ayarlarını açın. Processing sekmesi altındaki Material Override seçeneğini aktifleştirin ve malzemeyi buradaki alana sürükleyip bırakın. Böylece geçici olarak belirlediğiniz malzeme tüm sahneye kaplanacaktır. Artık doya doya ve hızlı bir şekilde alan derinliği testi yapabilirsiniz. Hatta alan derinliği test hesaplamalarında gölgeleri de geçici olarak kapatabilirsiniz. Böylece daha da hızlanacaktır.

KÜÇÜK BİR DETAY
Kamera ve ışığı konumlandırırken kişisel tercihim, önce sahne boyutlarında çemberler oluşturup kamera ve ışığı çembere atamak oluyor. Atamak derken direkt bağlamıyorum (Link) Path Constraint ile çember üzerinde hareket etmesini sağlıyorum. Statik sahnelerde çok büyük katkısı olmasa da hareketlendireceğiniz sahnelerin koreografisini oluşturmayı teknik açıdan kolaylaştırıyor. Dairesel hareketleri rahatça verebildiğiniz gibi kamerayı belli belirsiz uçuş hissinden kurtarıyor. Ayrıca iç içe birden fazla çember kullandığınızda, anahtar kareler ile uğraşırken de çözümlemeye katkısı oluyor.
RENDER ÖNCESİ SON KONTROL
Kullandığımız Samples Per Pixel değeri aslında Production Quality sayılmaz. Ama tek kare olduğu ve Spatial Contrast değerini minimuma düşürdüğümüz için işimizi görecektir. Spatial Contrast görüntünün sahip olduğu renk ve tonlara göre işlenme eşiğini (Sampling) belirtir. Yani tanımlayacağınız yüksek karşıtlık değerlerinde, Render’daki düşük tonlar ve detay bölgelerdeki hatlar kaybolabilir yada tutarsız davranabilir. Bir bağlamda görüntüyü tonlarına göre optimize ederek işler. Tavsiyem varsayılan değerin üstüne çıkmayın ama altına düşebilirsiniz. Unutmayın, düşük değerler Render süresini de arttıracaktır. Keskin görünüm için Filter tipini Mitchell’e almayı unutmayın.

Sahnemizde cam veya benzeri şeffaf nesne olmadığını düşündüğümüzde ışın takibi miktarını azaltabiliriz. Ana Render ayarlarındaki Reflections / Refractions değerlerinin hepsine 2 girin. Oldukça düşük bir değer ama bu sahne için yeterli olduğu kanaatindeyim.
Final Gather’ı kapamayı unutmayın. Bu sahnede gerekli görmüyorum. Tek katkısı Render süresine ek olacaktır. Eğer Final Gather kullanacaksanız aydınlatma ayarlarını gözden geçirmeyi unutmayın. Çünkü seken ışınların hesaplanması sahnenin daha fazla aydınlanmasına sebep olacaktır.
BİTTİ
Azim ve sabırla sonuna okuyabildiğiniz için tebrik ediyorum. Uzun değildi ama yorucu idi. 3DSMax’i yazarak anlatmak çok zor, eminim okuyarak anlamakta zordur. Bazen bir kaç cümle için saatler harcamam gerekiyor. Anlatımı kolaylaştırmak adına bolca resim kullandım. Umarım yazılarımın 3D vizyonunuza katkısı olur.
Yaz ve sıcakların üzerimize çöktüğü şu dönemde tembellik etmeyin (!) çalışmaya ve üretmeye devam edin. Arada kafanıza takılanları benimle paylaşmayı da unutmayın. osmansafi@gmail.com adresine 3D ile alakalı e-postalarınızı bekliyorum. E-serinlikle kalın.

Hiç yorum yok:

Yorum Gönder