20 Mayıs 2008 Salı

Hair and Fur modifierini Mental Ray icin optimize etmek

Hair and Fur modifieri Mental Ray ile olabildigince hizli calismasi icin tasarlanmistir. Ancak default ayarlarini kullanarak bu scanline render a kiyasla daha verimli sonuclar alamamanin yaninda render suresi de scanline da oldugundan daha uzun surecektir.

Hair and Fur modifierini Mental Ray ile etkin bir bicimde kullanmak cok basit iki ayari degistirmek yeterlidir.
Hair and Fur modifierinin ozelliklerinden tools bolumununun icinde render settings den butun sahneyi etkileyen Hair and Fur ozelliklerine ulasabilirsiniz. Ayni yere rendering => effects menusunden Hair and Fur u secerekte gelebilirsiniz. Sahnede eklenen ilk Hair and Fur modifieri icin Render effects olarak bu oge otomatik olarak eklenir.
Bu menuden Hairs kutucugunu buffer dan mr prim olarak degistirmeniz Mental Ray baglantisini kurmak icin yeterlidir. Artik scanline da oldugu gibi once sahneyi render edip sonra sac ve tuyleri koymak yerine, hepsi birden hesaplanacaktir. Tabii isterseniz hala bunlari render elementsden ayri ayri render edebilirsiniz, onemli olan bunlarin isik ve diger objelerle olan iliskilerinin daha dogru hesaplaniyor olmasi.
Mental Ray ve Hair and Fur arasindaki baglantiyi kurduk, ama render suremizde fazla bir degisiklik olmadi. Burada fast rasterizer devreye giriyor. Belki bazilariniz Mental Ray motion blurunu hizlandirmak icin Fast Rasterizer i kullanmistir. Zaten yaninda da parantez icinde "Rapid Motion Blur" yazar.
Rendering Menusu => Render (yada F10) => Renderer Tab inda Rendering Algorithms basliginin altindaki "Use Fast Rasterizer (Rapid Motion Blur)" kutucugunu tikleyerek sac ve tuylerinizin renderini ciddi anlamda hizlandirabilirsiniz. Samples per Pixel ve Shades per Pixel parametreleriyle kalite/performans oranini ayarlayabilirsiniz.

samples per pixel : Pixel basina yapilacak ornekleme sayisini belirler. Arttikca gecisler yumusaklasir ama render suresi uzar.
shades per pixel : Pixel basina yapilan ortalama aydinlanma bilgisi. Arttikca daha dogru sonuclar alirisiniz, tabii render suresi karsiliginda.

Tavsiyem bu degerleri default degerlerde birakip, sonuca gore ayarlama yoluna gitmeniz.
Kimi durumlarda mr Prim ve fast rasterizer i kullanmak dogru sonuclar vermeyebilir, bunu deneyerek gormek gerekiyor.

Unutmayin ki Fast Rasterizer ozelligini etkinlestirmek, eger Mental Ray motion bluru etkinse onu da etkileyecektir (hizlandiracak ama daha az dogru sonuc verecektir). Bazi durumlarda rapid motion blur tek kare bakildiginda kabul edilebilir gorunse de, detayli animasyonlarda (ozellikle deformasyonlarda) kendini belli edebilir, hatalar yapabilir. Boyle bir durumda fast rasterizer i etkinlestirmemek yada sac/kurk ve objeleri ayri passlar halinde almak cozum olabilir.

.

Camera Map Modifieri ile Kaplama problemini gidermek.

Camera Map modifieri ile kaplama yaparken dikkat edilmesi gereken bazi noktalar:

- Sahnenin Render Aspect Ratiosu ile kaplama yaptiginiz imajin aspect ratiosunun ayni oldugundan emin olun.
- Sahnede birden fazla kamera varsa dogru olani sectiginizden emin olun.
- Camera Map modifierini kopyalamak cogu zaman ise yaramaz, kaplama yapmak istediginiz objeye modifieri kopyalamaya calisiyorsaniz modifieri yeniden eklemek dogru sonuc verebilir.
Eger cok sayida objeye ayni kameradan mapping yapmak istiyorsaniz asagidaki adresteki scripti kullanabilirsiniz.
http://www.scriptspot.com/3ds-max/cameramapapplier

Butun bunlara ragmen Camera Map modifier i ile yapığınız kaplama modeliniz üzerinde yer yer kayıyor yada yamuluyorsa buyuk ihtimalle modelinizin detayi ile ilgilidir. Modelin poligon sayisini arttirmak cogu zaman problemi cozer. Bunun poligon sayisini elle arttirabileceginiz gibi, ben degisiklik ihtimaline karsin subdivide tesselate yada turbosmooth modifierlarini oneririrm.
Peki UVW Map modifierla tek bir poligonun uzerine bile istedigimiz aci ile super kaplama yapabiliyorken camera map modifieri niye bunu yapamiyor?

Camera Map modifier, seçtiğiniz kameranin bakmiş olduğu noktadan modelinizin üzerine kaplama yapar. Ama bunu yaparken aci ve posizyonun yaninda cameranin focal length degerini de hesaba katar. Yani gerektigi noktalarda resmi egip bukerek poligonlara uydurur. Bunu yapabilmek icin yuzey uzerinde goreceli olarak yuksek degerde bir referans noktasina ihtiyac duyar. Bu referans noktalari da vertexlerdir. Dolayisiyla poligon sayiniz ne kadar fazlaysa teoride o kadar iyi camera mapping yaparsiniz. Tabii ki belli bir noktadan sonra imaj modelin uzerine neredeyse kusursuz yerlesecegi icin aradaki fark farkedilemeyecek bir noktaya gelecektir. Bu yuzden ayarlanabilir olmasi nedeniyle subdivide, tesselate yada turbosmooth modifierlarini kullanmak sahnenizi en az yorarak en iyi sonucu almaniza yardimci olacaktir.

Mental Ray ile Ambient Occlusion

Ambient Occlusion, 3d sahnelerin kompozitlenmesi aşamasinda sıklıkla kullanılan bir render passıdır. Temel olarak her yonden esit miktarda aydınlatıldığı varsayılan bir sahnedeki objelerin birbirleri ve kendileri uzerine dusurdukleri yumuşak gölgeleri simule eder.












Yukaridaki ilk imaj iki tane golge düşürmeyen omni ışıkla aydınlatılmıs sahnenin renderıdır. İkinci imaj ayni karenin aşağıda açıklanan materyalle alinmiş renderıdır.
Üçüncü imaj, photoshopta ilk imajin üzerine ikincisinin multiply blending moduyla koyulmuş halidir.

Burada dikkat edilmesi gereken, Ambient Occlusion materyali sahnedeki isiklarin hiçbirinden etkilenmez. Sadece objelerin birbirine olan yakınlığına ve materyalin spread, max distance ve falloff değerlerine bakar.

Mental Ray icin hazir bir AO materyali olmasa da, bu iş ve daha birçok şey için kullanılabilecek olan Ambient/Reflective Occlusion Shaderi bulunmaktadir. Bu shaderi kullanarak ayarlariyla istedigimiz gibi oynayabilecegimiz basit ama işe yarar bir AO materyali oluşturacağız.

Render mototru olarak Mental Rayin seçili olduğuna emin olduktan sonra, materyal editorde herhangi bir slota "mental ray" materyalini yukleyin. Bu materyal ilk yuklendiginde herhangi bir shader icermez. Dolayisiyla materyal editorde birsey goremezsiniz ve materyalin eklendiği objeler render edilmezler.

Bu materyalin surface bolumune tiklayip listeden "ambient/reflective occlusion" mapini seçtiğinizde elinizde çoğu iş için yeterli olacak bir AO materyali olmus oluyor.

- Sample sayisini arttirarak kaliteyi arttirabilirsiniz.
- Max distance "0" iken sonsuz uzakliga kadar golge dusurmeye cabalar, bu degerle oynayarak render suresini hizlandirabilirsiniz.
- Once tek kare üzerinde kompozitleme yapmayi denerseniz vakit kazanirsiniz.

ÜŞENGEÇLER İÇİN;

Aşağıdaki adreste bu işi hızlandiran, sahnenizi ve materyallerinizi bozmadan, kullanmakta olduğunuz render motorunu değiştirmeden herseyi sizin icin yapan bir script bulabilirsiniz.

http://www.scriptspot.com/3ds-max/quick-passes