利用MAYA制作電子顯微鏡下的材質(zhì)
01通過一個電子顯微鏡得到的照片物體在面對攝像時趨向有一個黑色的外觀,,并且與攝像機垂直的表面有一發(fā)光的部分。
02電子顯微鏡材質(zhì)通過聯(lián)合幾個功能節(jié)點和紋理來完成一個相似的外觀。
這個文件包括電子顯微鏡的材質(zhì)網(wǎng)絡(luò)。
這個材質(zhì)網(wǎng)絡(luò)插入一個電子顯微鏡的表面材質(zhì)創(chuàng)建一個凹凸表面的外觀,依靠每個點在面對攝像機的方向來在黑色和淡藍色之間進行插值。這個效果里最有趣的方面是在那里是沒有凹凸節(jié)點用于這個材質(zhì)網(wǎng)絡(luò)。
To see the shading network: In Hypershade, select the material node called eMicroscope and click on the Show Upstream Connections button.
要看材質(zhì)網(wǎng)絡(luò):在Hypershade里,選擇名叫eMicroscope的材質(zhì)節(jié)點并且點擊Show Upstream Connections 按鈕。
For more space in the Work Area, click on the Show Bottom Tabs button.
要得到更多的工作空間,擊Show Bottom Tabs 按鈕。
03電子攝像材質(zhì)節(jié)點是一個表面材質(zhì)。表面材質(zhì)是在MAYA里不同于其它材質(zhì)類型因為它不是一個材質(zhì)模型。相反地,這是一個簡單地不用計算光或任何輸入屬性的數(shù)學合并的傳遞節(jié)點。它是設(shè)計為通過材質(zhì)引擎去任意轉(zhuǎn)換指定的輸入屬性到重新被認可的屬性。作為一個結(jié)果,所有它的材質(zhì)屬性是通過插入的材質(zhì)網(wǎng)絡(luò)定義的,表面材質(zhì)渲染時不需要光,并且看來象自發(fā)光的表面如LED,LAVA,或NEON SIGN。表面材質(zhì)的外表幫助去完成一個電子顯微鏡下的圖像。
04在這個電子顯微鏡的顏色效果后面的概念是,在表面上的任何直接面向攝像機的點是在渲染時將渲染成黑色。當表面逐漸與攝像機垂直時,顏色將逐漸地到淡藍。
一個容易完成這個效果的方式去是在MAYA里確定使用兩段信息:被著色點面對攝像機的方向和被著色點的表面法線;兩者都是向量。它們兩個的技術(shù)術(shù)語是Ray Direction 和 Normal Camera,并且它們在采樣信息節(jié)點里是不可見的。
一個采樣信息的功能節(jié)點是一個簡單地有一些特別地指定屬性的節(jié)點。屬性的指定參考MAYA已經(jīng)知道的,內(nèi)在的,當對表面上的一個點著色時的信息。(如表面法線,切線,世界坐標的定位等)在許多渲染器中,沒有一個程序的話它不可能得到這些信息。然而,MAYA的采樣信息功能節(jié)點準備一個捷徑去訪問這個信息,它允許你在材質(zhì)網(wǎng)絡(luò)里創(chuàng)建一個定制的效果。通過簡單地連接一個采樣信息節(jié)點屬性到另一個節(jié)點,MAYA知道在渲染時去傳遞需要的信息,它是通過那個連接的屬性所表現(xiàn)的。通常地,在采樣信息節(jié)點里的屬性將被用于精確地計算哪個屬性能在被著色點的最終外觀上起作用。
在這個電子顯微鏡網(wǎng)絡(luò)材質(zhì)里,Ray Direction 和Normal Camera是用于叫做數(shù)量積的一個數(shù)學計算。尋找那兩個向量的數(shù)量積結(jié)果在一個單一的向量將在1.0到-1.0之間。
1.0 when both vectors point in the same direction
兩個向量有同一個方向
0.0 when the vectors are perpendicular
兩個向量是垂直的
-1.0 when the vectors point in the opposite direction
兩個向量是相反的
因為方便,MAYA實際在采樣節(jié)點里有一個屬性,事實上,這個數(shù)量積。這叫做Facing Ratio外形比率。連接外形比率屬性到BLEND COLOR功能節(jié)點的BLENDER屬性,在電子顯微鏡材質(zhì)里將創(chuàng)建在淡藍和黑色之間的插值。
這個工作的方式是:當表面是面向攝像機時,那個BLENDER數(shù)值將傳遞給一個外形比率數(shù)值為1.0,并且這將告訴Blend Colors節(jié)點輸出COLOR1到材質(zhì)節(jié)點。表面遠離攝像機時,外形比率將返回數(shù)值0。任何數(shù)值在0到1之間的,將輸出在COLOR1和COLOR2之間的數(shù)值。這是為什么你看到在球的外輪廓是淡藍色,在球的前方是黑色的,并且中間是兩個顏色的混合。這個材質(zhì)網(wǎng)絡(luò)指出這并證明為一個基本的概念。
實際的電子顯微鏡材質(zhì)為了合并一個凹凸效果,得用到一點高級的方法去完成同樣的效果。
05在電子顯微鏡下凹凸效果是使用一個Crater紋理完成的。Crater紋理的一個有趣的特性是它有一個內(nèi)建的outNormal輸出法線的輸出屬性。在這個例子里的展示,這允許Crater紋理不用一個BUMP節(jié)點來傳遞一個關(guān)于攪動的法線表面信息到材質(zhì)節(jié)點上。
Crater紋理的Shaker 和 Melt屬性控制邊緣質(zhì)量和擾亂的法線的分布或 "craters"。這個法線屬性Depth, Melt, Balance, and Frequency控制邊緣質(zhì)量,和擾亂法線的細節(jié)級別。
06電子顯微鏡材質(zhì)和上面的概念一起是在一個更高級的方式,因為采樣信息節(jié)點的外形比率是不用于驅(qū)動Blend Colors節(jié)點的Blender屬性。
相反地,一個定制的外形比率是在材質(zhì)網(wǎng)絡(luò)里使用一個積向量功能節(jié)點來計算的。本質(zhì)上,這個方法是允許什么想當作一個紋理節(jié)點能貼圖以外形比率。
這個概念是在數(shù)量積計算時,Crater紋理改變表面法線的方向。那么當數(shù)量積是用于驅(qū)動在淡藍色Stucco紋理和黑色之間的插值時,一個凹凸貼圖效果就完成了。這個技術(shù)是當材質(zhì)類型是一個表面材質(zhì)如這個電子顯微鏡,因為那兒是沒有凹凸貼圖通道來通過傳統(tǒng)的方法去貼圖。這也能用在其它類型的材質(zhì)里。
On a technical level, here is what happens:在一個技術(shù)級別里,這兒是可能發(fā)生的。
The Vector Product node computes the Dot Product of two vectors.矢量積節(jié)點計算兩個向量的數(shù)量積。
The first vector is the Ray Direction provided by the Sampler Info node. This is the vector that points from the camera position to the point being shaded.
第一個向量是Ray Direction通過采樣信息節(jié)點提供的。這是從攝像機的位置到被著色點得到的向量。
The second vector is the outNormal from the Crater texture.
第二個向量是從Crater紋理得到的輸出的outNormal。
注意:那是一個在outNormal 和 Normal Camera間有重大的不同。Normal Camera在表面上的任何點直接遠離表面的點的表面法線。outNormal是被修改的表面法線。方向的修改是依靠一個攪動的表面法線和基本的凹凸貼圖。
要看到不同,試著從CRATER的Normal Camera連接到 Vector Product節(jié)點的Input 2 屬性上并且你將看到凹凸效果消失。
07那兒有一個乘除功能節(jié)點插入在Sampler Info 和Vector Product 節(jié)點之間,它迄今為止沒有說明用處。
數(shù)學上,這個節(jié)點是必需的,因為Ray Direction 和 outNormal 向量是相反的。作為一個結(jié)果,所有的被著色點將返回-1.0到0之間的數(shù)量積值。這將當傳遞到Blend Colors節(jié)點上的 Blender屬性時不會正常工作,因為它只工作在數(shù)值0到1范圍內(nèi)。要校正這個,Multiply Divide 乘除節(jié)點是用于乘以Ray Direction以-1數(shù)值以反轉(zhuǎn)它,或反轉(zhuǎn)它的方向。這保證兩個向量是指向同一個方向(在這個例子里遠離攝像機),這樣保證數(shù)量積數(shù)值是在0到1范圍內(nèi)。
注意:缺省地,在Vector Product節(jié)點里的Normalize Output 是打開的。這樣產(chǎn)生了數(shù)量積在兩個向量之間的輸出是被返回當作角的余弦。(意為值在-1到1之間)。然而,在這個例子里,兩個Ray Direction 和 outNormal已經(jīng)規(guī)格化了,于是數(shù)量積是已經(jīng)在-1到1的范圍內(nèi)。因為這個原因,Normalize Output標記能被關(guān)閉去幫助最優(yōu)化速度不會產(chǎn)生任何不同到視覺效果。
注意:在這個例子里的采樣信息節(jié)點里的外形比率屬性,MAYA內(nèi)部的節(jié)點只返回數(shù)量積的絕對值。這意為它不返回負數(shù),即使Ray Direction被反轉(zhuǎn)。
一個數(shù)量積是單一的數(shù)值(相當于一個三倍數(shù)如輸入向量),那意為Vector Product節(jié)點的outputX, outputY, 和 outputZ屬性將被設(shè)置成同樣的數(shù)。因為這個原因,任何他們輸出的一個能被連接到Blend Colors 節(jié)點里的Blender屬性。Blender只需要一個數(shù)值,所以在這個例子里,outputX自己將從Vector Product節(jié)點傳遞過來。
注意:在數(shù)量積節(jié)點的其它使用中,一個三位一體的數(shù)值也許在某個例子里是必須的,Output的復(fù)合屬性將被使用。