一般來說,3D建模的可逆性都相對不強,也就是當我把立方體變成異型之後,想要變回來,或者再變成其他形狀就比較麻煩,基本上沒有退路可循,不過,随着修改器設計的不斷發展,我們在Blender裡也已經可以實現相當豐富、随時可調整的功能,比如平滑邊緣,就不一定要在模型上自己手動做平滑,而是通過修改器對範圍、幅度、強度進行程序化的控制,簡單來說就是給予我們更多的控制空間,賣了一劑“後悔藥”。事實上在結合修改器 材質着色器的基礎上,我們甚至不需要建模,就能生成很多的3D模型,而且對模型的形态有着随時可調整的巨大優勢,那麼,究竟要如何實現呢?我們本期就以一顆“螺絲釘”來說起吧。
如圖1,看起來就是平平無奇的一顆螺絲釘,但其實在編輯模式下查看,你胡發現它隻是一個4頂點組成的平面,換言之,這并不是一個傳統方法建模形成的圖像,而是通過着色器設計,利用置換原理所構成的形狀,具體怎麼操作呢?我們一步步來看!
圖1
1.設置渲染器、材質置換和勾畫基本形狀
我們需要新建一個平面,然後将渲染器設置為Cycles,在平面材質中将表(曲)面置換設置為“置換與凹凸”,如圖2。這一步非常關鍵,也比較容易被新手遺忘,所以要單獨強調一遍。
圖2
然後切換到“渲染”模式,因為隻有在此模式下才能看到置換效果。我們先給平面設置一個表面細分修改器,級數雖是越高越好,但越高意味着最終渲染的多邊形就越多,對硬件要求也越高,所以要量力而行,本教程最終渲染時設置為8。
然後進入着色器編輯器,使用紋理坐标連接矢量運算,并将矢量運算選擇為“長度”,再連接映射範圍,并通過置換模塊連接到材質輸出的“置換”上,這時候通過調整銀蛇範圍的數值就能看到平面變成了向上的錐形,這時候再在映射範圍和置換之間添加一個RGB曲線,調整成螺絲釘的形狀,就能看到如圖3的效果樣式了。
圖3
我們既可以通過RGB曲線來調整螺絲釘的形狀,也能通過映射範圍的“到最大值”來調整圓滑度,這就是“程控”的意義所在,通過一組着色器設置,就能輕松讓每一顆螺絲釘都有些微的差别,這不正符合現實生活麼,畢竟世上沒有完全相同的兩片樹葉。到這一步,你的着色器編輯器應該是如圖4所示的設定。
圖4
2.為螺絲釘打上十字紋
所謂“十字紋”,就是讓原本升起來的部分又以十字紋的形狀下陷回去,從而形成我們想要的形狀,這時候需要新建一個分離XYZ,并用X、Y分别連接一個運算模塊并選擇為“絕對”,然後用運算模塊的“最大值”功能連接,再緊接一個相減,并通過顔色漸變來輸出。然後再在分離XYZ之前加入一個矢量運算并選擇為正片疊底,嘗試設置X、Y的矢量值,可獲得如圖5的效果。
圖5
将本步驟新建的功能模塊全部複制一遍,但把矢量運算的X、Y值進行替換,然後把這兩個模塊組用正片疊底相乘,這樣就能形成一個十字型了。雖然其實我們也有更簡單的方法來形成這個十字,但教程所使用的方案可以讓十字型邊緣呈坡狀,而不是垂直下落,視覺上更符合真實場景,而且也可以通過調整參數來改變坡度角度,程控更自由。
最後再将本步驟所做的功能模塊,用正片疊底與第一步制作的模塊在置換之前相乘,這樣就能實現如圖1的螺絲釘形狀了。
考慮到要在多個“螺絲”上使用這一組着色器,建議将用于置換的模塊全部以Ctrl G進行編組,并為映射範圍的“到最大值”,2個相減模塊的數值以及置換模塊的縮放值添加組輸入的快捷連接,并按功能,重新命名為容易理解的名稱,比如“到最大值”就是“螺紋大小”,減法的數值就是螺絲頂面的“圓滑度”,而置換的縮放就是控制螺絲的“高度”。這樣一來,如圖6,我們的着色器編輯器一下就簡單明了了很多,反複使用時也不容易混淆了。
圖6
本文使用的着色器編輯器全覽
本章小結:置換功能考驗的其實是想象力
在今年開始做Blender系列文章時我就說過,置換是Blender着色器裡非常重要的功能,它可以在零建模的基礎上實現3D圖像的輸出,而且Blender在2.93 alpha版本就開始重推幾何節點,這也是一個全新的,足以讓人腦洞打開的新功能。雖然玩法有不同,但關鍵邏輯是互通的,着色器置換考驗的其實就是用戶的空間想象力,怎樣通過紋理位置的數學計算來置換出形形色色的形狀,而且顯然,我們的螺絲隻完成了上半部分,螺絲最重要的螺紋部分并沒有完成,那麼聰明的你想不想嘗試自己研究一下呢?你能在我們下期教程推出前自己搞定麼?我拭目以待!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!