薛山
沒錯,零建模系列又來了,事實上對于很多動畫設計來說,在不涉及建模的情況下就能完成相對復雜的工作,也是一件提高工作效率的好事。但凡事有得必有失,零建模雖然不需要我們手動去完成看似復雜且沒有太多規律的模型設計,但相對也需要一定的數學邏輯思維,才能在著色器中實現這些效果,比如本期我們要學習的波浪效果,就需要一點耐心和理解能力才能融會貫通,話不多說,馬上開始吧!
事實上波浪效果單純靠建模是幾乎無法實現的,尤其是動畫效果,基本上只能通過修改器來完成,而矢量置換作為零建模動畫的基礎,需要配合足夠多的頂點才能實現目標,所以我們首先需要新建一個平面,這也是唯一需要你新建的模型,然后為它加載表面細分修改器。
此時我們需要進入到渲染菜單,將渲染引擎切換為Cycles,并把特性集改成“試驗特性”,這時候如圖1所示,回到表面細分修改器,就能看到多出來一個“自適應細分”的選框,勾選之后我們只需要把分塊比例設置為0.1,就能獲得一個量級足夠的細分了。

接下來我們就需要進入渲染模式進行著色器的設置了,但在設置節點之前,我們需要先進入材質選項卡里,將置換設置為“凹凸和置換”或“僅置換”,這樣我們的后續操作才能正確顯示。
波浪無非就是一條高于海平面的水波,在Blender著色器編輯器里正好可以利用漸變紋理來實現這個設計,與此同時還需要在前端連接紋理坐標和映射來方便進行參數調整,然后我們在后端再接上一個顏色漸變,最終獲得如圖2的效果,而這就是我們波浪隆起部位的蒙版。

接下來再連接一個合并XYZ,這時候我們需要連接到Z,然后再直接連接材質輸出的置換,就應該可以看到波浪隆起的形狀了,通過調整映射的X值,波浪就會前后移動,實現最基本的效果,至此,著色器編輯器設計如圖3所示。

但是如果大家有仔細觀察過波浪就知道,浪尖始終更朝前,高度也相對更高,不是現在這樣線性的形狀,所以我們還需要進一步設計,再復制一組顏色漸變和合并XYZ,這次需要仔細調整顏色漸變的區域,作為浪尖的蒙版,并且我們還需要連接到合并XYZ的Y(或X,主要看漸變紋理的具體走向)。
然后新建一個矢量計算加法,把這兩組參數加到一起,連接到材質輸出的置換。接下來再復制一組顏色漸變和合并XYZ,重新調整顏色漸變的范圍,這次我們做浪尖的高度變化,所以需要連接到合并XYZ的Z,完成后的著色器編輯器如圖4所示。

這時候我們的波浪依然只是一個有隆起的平面,為了增加真實感,我們需要為它在Z軸方向添加噪波紋理,以實現水波蕩漾的效果。在材質輸出之前,添加一個4D噪波紋理,給W值添加“#frame/10”的驅動器,并連接到合并XYZ的Z,再與原節點通過矢量計算加法連接。
這時候我們就能獲得一個波光粼粼的水面效果啦,但這時候還有一個細節問題:如圖5所示,浪尖的分布太平整了,我們還需要給漸變紋理添加一定的隨機性。所以回到著色器編輯器的最左側,在紋理坐標和映射之間,添加一個噪波紋理,并用線性光進行連接,這樣一來如圖6所示,我們的浪尖就有了隨機化的位置差,真實感明顯增強,再微調顏色等參數,并給映射的X打上關鍵幀,一個漂亮的零建模波浪效果就完成啦。



本文所使用著色器節點一覽
矢量置換在Blender社區其實是一個討論度極高的話題,在每年的11月甚至會發起矢量置換設計挑戰賽的活動,讓各位藝術家充分發揮創意,零建模實現諸多效果獨特的功能。Blender的著色器玩法實在太多,也值得大家多多探索,對邏輯思維能力的要求較高,是一個很好的腦力鍛煉項目。