薛山
在很多災難電影里,龍卷風都是常客,而電影拍攝的龍卷風絕大多數(shù)都是視覺特效團隊精心制作而來,雖然我們不一定能達到那么高的真實性,但利用Blender的材質(zhì)著色器,也還是可以實現(xiàn)以假亂真的龍卷風特效,而且并不需要借助物理系統(tǒng)就能搞定,是不是很神奇?接下來就跟著我一步步操作吧!
因為這次我們使用的是材質(zhì)著色器來制作,所以基本上屬于零建模教學,因此只需要一個默認的立方體就能搞定。接下來我們需要進入著色器編輯器,刪掉材質(zhì)默認的原理化BSDF,用原理化體積來連接材質(zhì)輸出的“體積”,然后再把場景中的燈光調(diào)整為“日光”并適當設(shè)置強度,就能得到如圖1的基本效果了。
“體積”從視覺上來看其實就是霧化效果,我們需要做的就是調(diào)整這個霧的形狀,大家試想一下,龍卷風的形狀其實就是一個下小上大的圓柱體,所以我們首先要讓霧呈現(xiàn)為圓柱狀,第一是利用紋理坐標和矢量計算的“長度”,連接顏色漸變來制作出一個球型霧。
接下來在“長度”的前方,利用矢量計算的“正片疊底”來做乘法,設(shè)X、Y為1,Z為0,這就相當于讓球體在Z軸方向的長度為無限大,也就把球體拉成了圓柱體,具體設(shè)置可以參考圖2。
完成龍卷風的圓柱體雛形后,我們需要把龍卷風設(shè)計為上端大而下端小,邏輯上來說就是添加一個矢量乘數(shù),讓這個乘數(shù)由下往上線性增大,因為是矢量計算,所以這一步需要先分離XYZ,我們只涉及到Z軸方向,所以用Z連接一個“映射范圍”,而映射范圍的“從最小”和“從最大”就是立方體上下兩面的位置,對于默認立方體來說就是-1和1,然后把映射范圍和“長度”進行矢量計算“正片疊底”,這時候再調(diào)整映射范圍的“到最小”和“到最大”,就能得到上端大、下端小的龍卷風形狀了,這時候如果覺得在EEVEE模式下看得不是很清楚,可以在顏色漸變之后再接一個乘法,乘以10左右就差不多了,具體設(shè)置可以參考圖3。
顯然,這時候的龍卷風只是形似,缺乏很多細節(jié),比如螺旋向上的不規(guī)則風路設(shè)計,這時候需要在紋理坐標和正片疊底之間,添加一個噪波紋理,并用線性光進行混合,這時候調(diào)整噪波紋理的縮放、細節(jié)和糙度就能得到如圖4的效果。
最后一步就是為它添加一個螺旋旋轉(zhuǎn)效果,在噪波紋理前方加入一個“映射”,這時候調(diào)整旋轉(zhuǎn)Z的數(shù)值就能看到龍卷風轉(zhuǎn)了起來,但我們要的是旋轉(zhuǎn)向上的效果,而不是這種整體規(guī)則的旋轉(zhuǎn),所以這時候我們需要從數(shù)學角度為Z軸旋轉(zhuǎn)值添加特定屬性,首先是分離XYZ,然后再把Z連接到合并XYZ,這一步相當于什么也沒做,接下來就在兩者之間加入一個“乘后再加”,乘是讓龍卷風的頂部有更大的旋轉(zhuǎn)值,底部則趨近于不動,這樣就獲得了螺旋形態(tài),而加則是讓它整體旋轉(zhuǎn),這樣我們就只需要給加法做一個“-frame/10”驅(qū)動器,就能讓它自動旋轉(zhuǎn)起來了,具體可參考圖4。
本文所用著色器節(jié)點一覽
與此同時,為了讓龍卷風的形態(tài)也隨時間變化而變化,我們也可以把噪波紋理的類型設(shè)置為4D,然后為W值添加“frame/10”驅(qū)動器,這時候切換到Cycles渲染器再播放動畫,就能看到一個如圖5那樣不斷變化形狀、螺旋向上的龍卷風效果了。
其實不難發(fā)現(xiàn),Blender的材質(zhì)著色器也好,幾何節(jié)點也罷,制作過程類似于編程,有一個嚴謹?shù)倪壿嬐茖н^程,從立方體變成球體,再變成圓柱體,接著讓圓柱體上大下小,再添加噪波紋理并按乘法加法對Z軸方向進行旋轉(zhuǎn),就得到了一個龍卷風效果。這樣的玩法在Blender里可以說是相當常見,因此強烈建議大家多多學習,融會貫通。