薛山
一晃又一年,2022年最后一期Blender教程也和大家如約而至。對于在冬天仍需要四處奔波的打工人來說,溫暖的感覺無疑是難能可貴的,雖然咱們的學習過程中,只有頭腦風暴這一種方式可能讓你的情緒躁動起來,但至少在視覺上,Blender能夠做一些看上去很溫暖的特效,比如今天咱們要聊的針織效果,就是在物體上添加一層織物,而且是以逐步縫制的效果來呈現!
本期所使用的針織效果其實是分成兩個部分的,第一是已經有“針織線”完整覆蓋的物體,第二則是四面八方擴散的針織線,通過控制物體表面區域,讓針織線看上去逐漸縫制到物體上,所以其實嚴格來說這就是一個視覺上的取巧而已。
有了這個基本思路,咱們就可以開始嘗試制作了,為了方便演示,本文就直接使用最簡單的棱角球來制作吧,棱角球的優點就是它的頂點分布本身就是以三角形為主,如果使用經緯球就需要重新三角化,相當于要多一個步驟。接下來我們新建另一個棱角球或經緯球,將其作為“網格布爾”的“網格2”,也就是減數(后文簡稱“減數球”),和咱們原來的棱角球(后文簡稱“針織球”)相減,這樣就能得到一個被減掉一部分的半球體,這就是咱們今天“縫制完成”的物體了,這時候只需要先將它轉換為曲線,再從曲線轉換會網格,并以曲線圓環作為輪廓,就能得到一個隨減數球位置變化而形狀跟隨變化的針織球了。

通過網格布爾可以得到針織效果的基礎形態
雖然現在我們有了一個針織效果消失和呈現的控制方式,但針織的過程卻完全沒有表現,所以我們還需要繼續進行制作,這個步驟最重要的,就是在針織球上找到一個會跟隨減數球位置變化而變化的區域,然后讓咱們的針織線可以布局其上。
為了找到這個過渡區域,咱們需要使用“幾何接近”節點,這個節點的功能就是判斷兩個網格物體之間的位置和距離,既然我們要的是跟隨變化范圍,那么顯然就是以距離值為參考,然后通過“分離幾何體”將針織球和減數球相交的部分給分離出來。但注意,這里一定要使用“映射范圍”來調整距離值,否則不會得到任何想要的結果。
如果設置正確,那我們就可以在針織球上得到一個跟隨減數球位置變化的交界過渡區域了,這個區域的作用就是生成最關鍵的針織過程效果。

選定了兩個球體的交界區域后,就能得到針織線飛梭的效果了
在得到過渡區域后,咱們就可以通過“分布點于面上”、“實例化于點上”來分布針織線了,為了表現出線材隨機扭曲彎折的效果,這里可以使用曲線直線來作為實例,但此時所有曲線直線都是筆直朝上的,因此我們要引入一個“對齊歐拉至矢量”,將“分布點于面上”的法向連接到它的矢量,再連接到“實例化于點上”的旋轉值,調整為Z軸對齊,就能實現所有曲線直線沿針織球法向排列的效果了。完成后記得要“實現實例”,否則這些曲線直線依然會是實例,而不是可以調整頂點位置的曲線。
接下來就是利用“曲線重采樣”來讓曲線直線有更多的頂點,數值大家可以自行斟酌,最重要的是利用“設置位置”來連接噪波紋理為這些曲線直線的頂點位置賦予隨機值,在這里為了讓針織線的根部穩定在針織球上,我們可以通過為“設置位置”的選中項設置“端點選擇”來進行限制,簡單來說這個節點就是讓某些頂點的位置不受影響,比如針織線的根部,但設置的數值和“曲線重采樣”的數值是相關的,大家可以自行摸索一下。
當我們設置完成后,拖動減數球就會看到針織線隨之移動并進行縫制了,這時候我們需要把最原始的棱角球、針織球和第三步制作的針織線縫制效果全部合并幾何,至此,幾何節點的設計部分也就完成了。最后一步就是為球體和針織線賦予不同的材質,然后設置好環境照明,就能得到本次教程的最終效果啦。

將所有制作完成的幾何節點進行合并,就能得到我們想要的效果

結合著色器設計后的最終效果
幾何節點的使用方式其實就是編程的另一種形式,它在很多時候對邏輯思維理性需求要遠大于傳統3D建模的感性直覺,針織效果的實現方式其實有很多,咱們本期限于篇幅,就給大家介紹了這樣一種視覺上討巧的方案,但考慮到很多時候觀看者并不會注意到那么多細節,尤其是你不需要給特寫鏡頭的情況下,本期的設計方案是最快速方便的。當然,如果你不擅長幾何節點,其實通過建模+修改器也能實現類似的效果,感興趣的朋友也可以自己探究一番,Blender總體來說是一款難度并不高的設計軟件,只要找對思路,條條大路通羅馬。