薛山
上期我們的教學(xué)內(nèi)容嚴(yán)格來說只進(jìn)行了一半:只有螺絲帽,沒有螺絲釘,所以我們本期的目標(biāo)就是使用Blender制作螺絲釘?shù)男Ч憧赡軙?huì)覺得“螺絲釘不就是一個(gè)柱體再加上螺旋凸出的圓環(huán)嗎?”沒錯(cuò),但在3D設(shè)計(jì)中,很多時(shí)候復(fù)雜的往往是看起來很簡單的效果,比如螺旋凸出的紋理怎么實(shí)現(xiàn)?使用傳統(tǒng)方法去手動(dòng)選擇區(qū)域來擠出?這個(gè)方法只要稍微實(shí)踐一下就不難發(fā)現(xiàn)困難重重,因?yàn)樾枰貥?gòu)網(wǎng)格,雖然可以如圖1使用內(nèi)插角和三角面轉(zhuǎn)四角面來實(shí)現(xiàn)網(wǎng)格的45°旋轉(zhuǎn),但螺旋紋理顯然不是以此角度進(jìn)行旋轉(zhuǎn)的,旋轉(zhuǎn)的角度也完全不可控。顯然,我們需要一個(gè)可定制螺旋參數(shù)的著色器方案,這時(shí)候就要祭出我們在螺絲帽文章中大顯身手的“置換”大法啦!
與螺絲帽可以通過一個(gè)方形平面完全演化不同,螺絲釘無法通過這樣的方式實(shí)現(xiàn),原因在于當(dāng)我們使用置換功能將平面中的部分凸起呈柱狀時(shí),這些柱體的側(cè)面都無法實(shí)現(xiàn)表面細(xì)分,如圖2所示,進(jìn)入編輯模式可以看到在軟件眼里它依然只是一個(gè)平面,而不是柱體,所以柱體側(cè)面無法形成足夠多的有效頂點(diǎn),我們即便是做出了選區(qū)也無法讓螺紋凸出來,所以我們必須手動(dòng)做一個(gè)柱體,并做多次的環(huán)切。
注意,這一點(diǎn)很重要!環(huán)切必須手動(dòng)做,不能使用表面細(xì)分修改器,因?yàn)楹唵涡捅砻婕?xì)分修改器只是在每兩個(gè)頂點(diǎn)之間做N次切割,而主體的每一面其實(shí)是一個(gè)長矩形,這意味著短邊的切割得到的頂點(diǎn)將遠(yuǎn)多于長邊,如圖3,這樣會(huì)明顯影響螺旋紋理的凸出效果,而我們的目標(biāo)是如圖4的切割。
切割完成后再加載表面細(xì)分修改器,這時(shí)候就可以得到很好的效果了,細(xì)分等級(jí)越高越好,如果你有一臺(tái)強(qiáng)力電腦就能獲得更好的效果。建模時(shí)最好找一顆螺絲的實(shí)物或照片,看看螺絲釘?shù)木唧w形狀,模仿著做一顆即可,建模的階段結(jié)束了,接下來是著色器環(huán)節(jié),記得在做著色器之前先切換到Cycles渲染器,并把材質(zhì)的置換選項(xiàng)調(diào)整為“凹凸與置換”或“僅置換”。
螺旋紋理看起來簡單,但如果利用數(shù)學(xué)思維在3D空間中選區(qū)卻需要花一點(diǎn)心思,我們使用的方法是以螺絲的X、Y軸位置信息為值來做反正切,然后結(jié)合映射范圍,最小值和最大值正好限制在360°的范圍以內(nèi),這樣就能獲得一個(gè)完整的無重疊的圓,然后得到的值與Z軸位置信息進(jìn)行對比,并利用分?jǐn)?shù)取倒數(shù)的方式來獲得螺旋形狀。
不過如圖5,這個(gè)方法獲得的螺旋形狀是斷層的,其實(shí)也有辦法繼續(xù)優(yōu)化,但顯得過于復(fù)雜,這里可以用一個(gè)討巧的方法,復(fù)制上一段所做的全部著色器,但在前方加入一個(gè)矢量旋轉(zhuǎn),設(shè)置為180°,并使用矢量加法給Z軸加上0.5,這樣就相當(dāng)于把之前做的紋理旋轉(zhuǎn)了一圈并向上位移了一個(gè)單位,最后利用最大值將這兩個(gè)著色器組加到一起,就能形成一個(gè)完整的螺紋了。
如果想要調(diào)整螺紋的密度,可以在最前方紋理坐標(biāo)后面跟一個(gè)矢量乘法,將X、Y設(shè)置為1,Z設(shè)置為更大的數(shù),就能看到密度增加了。除此之外我們也只想螺紋在想要的地方出現(xiàn),而不是整個(gè)螺絲釘全都有螺紋,這時(shí)候可以通過分離XYZ的Z,結(jié)合比較來得到區(qū)域,并與我們前面得到的著色器相乘,就可以限制螺紋出現(xiàn)的高度范圍了。
得到螺絲釘?shù)募y理之后,接下來就只需要將其連接置換就能實(shí)現(xiàn)輸出了,這時(shí)候記得把置換的中間值設(shè)置為0,而且縮放值也不要設(shè)置得太大,基本上0.05以內(nèi)就可滿足。這時(shí)候可以通過給縮放值打關(guān)鍵幀的形式來實(shí)現(xiàn)螺紋顯現(xiàn)的動(dòng)畫效果,而且因?yàn)槁菁y密度、寬度等全都可隨時(shí)調(diào)整,自由度遠(yuǎn)高于建模方案,這時(shí)候再把我們上一期做好的螺絲帽加進(jìn)來,如圖6的一顆完整螺絲就完成啦!
貫穿整個(gè)螺絲釘制作系列的關(guān)鍵,就是如何選出你想要的的區(qū)域來進(jìn)行置換,對于新手而言,選區(qū)的思路很容易被限制在編輯模式下去找你想要的面,但問題在于這種方法找到的面只適用于順著網(wǎng)格走的圖樣,跳行擠出的情況下會(huì)出現(xiàn)不可逆的鋸齒,影響觀感。事實(shí)上單單看選區(qū)的自由度,著色器里提供的數(shù)學(xué)方案要遠(yuǎn)比在3D空間直接尋找方便很多,而且可以打破網(wǎng)格的限制實(shí)現(xiàn)無級(jí)選區(qū),自由度高,可控性強(qiáng),是Blender學(xué)習(xí)過程中繞不開的必學(xué)重點(diǎn)之一。
本文著色器編輯器全覽