玻璃杯的建模雖然很簡單,但透明材質(zhì)卻是很多新手會遭遇的難點:如何實現(xiàn)材質(zhì)的透明,同時還要兼具玻璃的反射和折射效果……這就是本期教程想要解決的第一個問題。而如果還要更有趣點的話,玻璃杯能不能做變形的動畫效果呢?答案依然是可以,但是在建模階段就要稍微換個思路,接下來就讓我們一起來實際操作吧。
一般來說,我們制作玻璃杯只需要使用柱體,刪除頂面然后把邊緣不斷向上擠出,并調(diào)整每一級的縮放,最后再用一個表面細分修改器來柔滑邊緣,就能實現(xiàn)杯子的建模,如果還需要做一些細節(jié),則對具體的面進行操作即可。
但如果我們需要做杯子的變形動畫,那么上面這種方法就并不算最優(yōu)解,雖然可以利用晶格修改器來實現(xiàn)變形,但相對還是較為麻煩,本教程使用的方法是利用曲線來做杯子的外沿形狀,然后再結(jié)合螺旋修改器讓曲線沿Z軸“畫個圈”,就可以獲得一個杯子的效果了。
如圖1所示,我們在編輯、偏好設(shè)置、插件里搜索并啟用“Add Curve:Extra Objects”插件,這是Blender自帶的插件,內(nèi)置了大量預(yù)設(shè)的曲線,完成后在3D視圖界面新建一個“路徑曲線”,進入編輯模式將其旋轉(zhuǎn)為垂直方向,然后通過調(diào)整各個曲線頂點的位置,必要時添加一些新的頂點,最終實現(xiàn)如圖2的效果。
圖1
圖2
接下來只需要給曲線添加一個螺旋修改器,就能得到一個高腳杯的形狀了,注意螺旋修改器的默認參數(shù)是沿Z軸旋轉(zhuǎn),如果你的杯子不是垂直擺放,就要按它本身的垂直朝向去設(shè)置軸向,與此同時視圖步長和渲染步長的默認值只有16,看上去會有很多鋸齒,不夠圓滑,所以需要設(shè)置到64左右才能滿足要求。具體設(shè)置可參考圖3。
圖3
雖然Blender著色器編輯器里本身就預(yù)置有玻璃BSDF,但如果直接套用,你會發(fā)現(xiàn)在EEVEE渲染器下它是不透明的,即便是調(diào)整材質(zhì)設(shè)置的混合模式也沒用。當然,我們?nèi)孕枰鸦旌夏J胶完幱澳J蕉颊{(diào)整為“Alpha Hashed”,因為最終我們還是要結(jié)合這個設(shè)置才能達到目的。
回到著色器編輯器,給玻璃BSDF混合一個透明BSDF,然后以菲涅爾作為混合系數(shù),可以在菲涅爾后方接一個顏色漸變來緩和過渡,這時候再輸出會發(fā)現(xiàn)仍然有小問題,這主要是因為玻璃杯沒有厚度所致,于是我們需要再給杯子添加一個實體化修改器。這樣一來我們就能得到如圖4的玻璃杯效果了,而具體的著色器設(shè)置可以參考圖5。
圖4
圖5
最后我們來做一個會變形的玻璃杯吧,如果你直接嘗試給曲線頂點打關(guān)鍵幀時會發(fā)現(xiàn),壓根沒有這個選項,所以我們還需要另一個插件來實現(xiàn)此功能。再次來到編輯、偏好設(shè)置、插件里啟用Blender自帶的AnimAll插件,這個插件就可以讓我們?yōu)榍€頂點位置做關(guān)鍵幀。
如圖6所示進入玻璃杯的編輯模式,全選所有頂點并在AnimAll里選中“點”,在第一幀“插入”,這時候你就能在時間軸上看到關(guān)鍵幀已成功打上,然后來到第30幀,按需調(diào)整頂點的位置,比如把它從高腳杯變成一個玻璃葫蘆,完成后全選所有點,再次插入關(guān)鍵幀。這時候播放視頻,你會發(fā)現(xiàn)玻璃杯動了起來,整個設(shè)計也就完成了,接下來就看諸位腦洞如何啦。
圖6
就玻璃材質(zhì)本身而言,一個單純的玻璃BSDF并不能完全反映出真實的視覺效果,比如折射色差在本方案中就無法真實體現(xiàn),需要通過連接紅綠藍三色的玻璃BSDF,并分別調(diào)整IOR值才能實現(xiàn)這樣的效果,所以大家不妨多多嘗試。至于位移頂點生成的動畫,其實不僅對曲線有用,對網(wǎng)格模型也同樣有效,感興趣的讀者朋友們趕快玩起來吧!