教大家個使用MAYA中法線貼圖的應用的綜述,個人感覺這個教程太有用了,很全面很直觀的分析了MAYA中發現的各種使用方法及技巧。很是實用收藏一下吧,最近搜集了不少資料和試驗,打算把MAYA中法線貼圖(NORMAL MAP)的相關信息綜合一下并且心思一下思路。慢慢來!:)
法線貼圖(NORMAL MAP)是一種較新的貼圖技術,類似于BUMP MAP,通過對模型表面的法線的矯正來用以表現模型的細節與紋理,其效果比后者要好,能達到BUMP MAP所達不到的效果,但是其并不能真正的在模型表面產生細節,相對于DISPLACEMENT MAP而言,又不如其滿意。而且其制作和應用很麻煩,問題也很多,所以這種技術CG中并不常用,不過,在游戲中卻有相當的發展空間。其他不多說了,先來看個圖:
為什么同一個模型(10*10段的多邊形球體)會出來兩種效果,我使用了SOFTEN/HARDEN EDGE命令來柔化了右邊的模型邊,這樣看起來就圓滑了很多!
我現在打開了CUSTOM POLYGON DISPLAY OPTIONS,顯示出來法線來看看區別:
模型的法線有兩種:點法線和面法線。面法線是在面中心發出,表示面的方向;而點法線是從點發出的,取決于點周圍的面的方向,左右模型的區別說明了SOFTEN/HARDEN EDGE命令工作原理。同時也NORMAL MAP的基礎。(其實還有一種:UV COODINATE NORMAL。但MAYA中似乎沒有這個概念,這個東東是在NORMAL MAP應用中許多問題產生的根源,這里暫不講述)
下面我們開始。建立一個POLYGON球體,參數如下。
然后再復制出一個隱藏。
對這個球體平滑2次后,用雕刻工具作出一些細節。
打開HYPERSHADE,賦予這個球一個新的LAMBERT材質。
再建立一個SAMPLEINFO和SETRANGE節點,作如下連接:
這樣我們把這個球的法線與攝象機信息輸入,將其輸出到物體材質的COLOR上,這里我的材質選擇了SURFACESHADER,這并不重要。只是為了方便觀察效果。
調節參數:我們將法線變量轉化為顏色值,需要重新定義取值區間,由[-1,1]轉化為[0,1]。
顏色改變,但是你會發現硬件顯示的顏色與渲染的顏色不一樣!這可是個問題的關鍵!而且不管你如何移動或旋轉攝象機和模型,物體的顏色分布都不變化,上面是綠色,左邊藍,右邊紅。這可不是我們想要的。
這個問題的原因是因為SAMPLEINFO輸出的法線信息是基于攝象機的,所以與攝象機關聯,而并非物體本身,這樣我們后面的得到的也是不能用的法線信息。
為了解決這個問題,我們斷開SAMLPEINFO和SETRANGE之間的聯系,新建一個VECTOR PRODUCT節點,如下連接。
將透視攝象機的節點拖進,輸入其世界矩陣信息到VECTOR PRODUCT節點,運算方式為VECTOR MATRIX PRODUCT,再將輸出值連接到SETRANGE的VALUE上。
這樣做是矢量與矩陣運算,把攝象機坐標系轉換為世界坐標系,這樣攝象機的變化不在影響物體的顏色分布了,但是如果我們轉動物體,問題仍然出現。所以要把物體的變化的信息也要加進去,將世界坐標系轉換為物體坐標系。
如果將此時的顏色轉換為貼圖,我們就叫它World-space normal map。(后面在介紹這些分類),如圖再加入如下類似的節點,注意這次選擇的是WORLD INVERSE MATRIX。圖中COLORBALL就是這個球體的模型節點,你可以在OUTLINER中找到它,拖到HYPERSHADE里。
這樣,我們看到顏色顯示與渲染的一致了,以渲染出來的為準,這樣移動攝象機或物體,顏色分布就正確的象貼在物體上一樣。
新聞熱點
疑難解答