薛山
作為一個慵懶佛系的Blender玩家,相信很多讀者朋友跟我一樣,有時候雖然腦子里有思路,但一想到要做復雜的動畫或物理模擬,可能就會開始打退堂鼓了,比如我們今天要做的拉鏈效果,常規(guī)思路可能就需要通過建模后的骨骼綁定來進行動畫制作,這其實也是高精度模型效果的必經(jīng)之路,但如果只是想試驗一下自己的想法,或者并不需要那么高的精度,單純就為了做個過場動畫,這時候幾何節(jié)點或許會是個“一勞永逸”的好選擇。
拉鏈效果的核心就在于線性且絲滑的分離合并效果,如果是傳統(tǒng)設計想要做到這一點還是有難度的,因為拉鏈的效果實質(zhì)上是在定義兩個物體之間的頂點關(guān)系,想要做到絲滑的效果有一定難度,最直觀的方法就是使用布料系統(tǒng),通過第三個物體來重新繪制釘固組權(quán)重來實現(xiàn)分離,但這個效果做起來比較麻煩,而且每一次都需要重新調(diào)整和烘焙數(shù)據(jù),所以如何使用幾何節(jié)點來設計就成了重點。
我的基本思路是使用兩條曲線來作為拉鏈的兩條邊,在拉鏈合并時它們緊貼在一起,而當拉鏈拉開時就沿著曲線的路徑逐漸分離,而且為了方便實現(xiàn)后期編輯,我們可以直接用貝塞爾曲線作為模型,直接進入它的幾何節(jié)點編輯器里進行操作。
首先,大多數(shù)關(guān)于曲線的幾何節(jié)點操作,都需要使用“曲線重采樣”來細化曲線的頂點數(shù)量,因為我們需要使用兩條曲線,但考慮到拉鏈的特殊性,這兩條曲線的形狀其實是一樣的,只是處于不同的位置,所以我們只需要用“設置位置”來進行偏移,再將它與原曲線“合并集合”,就能通過一個曲線來控制拉鏈兩邊的效果了。
那么,要如何“設置位置”才能讓拉鏈絲滑地拉開合并呢?我們可以利用“樣條線參數(shù)”作為系數(shù),連接“相乘”“相加”,然后將輸出的結(jié)果,通過“矢量計算”的“正片疊底”和“法向”相乘,這時候只需要調(diào)整“相乘”“相加”的值,就能控制兩條曲線的靠攏與分離了,對了,記得要把“相加”的“鉗制”屬性勾上,否則兩條曲線在靠攏后會穿過而不是停留,就達不到我們想要的效果了。
但這時候我們只得到了兩條曲線,無法進行渲染,所以接下來還需要把它們都變成網(wǎng)格平面才行,這一步其實也很簡單,通過“曲線轉(zhuǎn)網(wǎng)格”,并以曲線直線作為輪廓曲線就能實現(xiàn)這個目標。但這時候你會發(fā)現(xiàn)兩條曲線會朝著同一個方向來生成面,而我們想要的是它們朝著相反的方向來生成,產(chǎn)生這個錯誤的原因就是兩條曲線的法向是完全相同的,所以我們只需要給其中一條曲線添加180°的“平滑曲線傾斜”,就能得到滿意的效果了。
在第一步完成后,我們的拉鏈分離合并效果就實現(xiàn)了,但看上去更像是在撕扯一張紙,因為拉鏈本身是有鏈條的,所以我們第二步就是給它添加兩組鏈條。這個操作其實也不難,也就是將兩個曲線的頂點作為基礎(chǔ),通過“實例化于點上”來放置鏈條就行。
如果有仔細觀察自己衣服上的拉鏈,不難發(fā)現(xiàn)左右鏈條是互相錯位的,所以我們?nèi)绻苯邮褂谩皩嵗邳c上”,就會發(fā)現(xiàn)兩條邊的鏈條在拉鏈拉上后是重疊的,因此還需要通過一定的設置來讓它們位置錯位。
這一步我們需要使用“采樣曲線”這個節(jié)點,將它連接到“平滑曲線傾斜”之后,系數(shù)則選擇“樣條線參數(shù)”和“相加”,這個“相加”的值就是曲線頂點的位移量,大家可以根據(jù)自己的設計來具體調(diào)整,然后通過“設置位置”來改變曲線頂點位置,再把它和另外一條曲線的“設置位置”進行合并,最后再用“實例化于點上”來放置鏈條模型。
鏈條模型我們可以用立方體來做簡單的示例,因為拉鏈的鏈條即便在合并的時候也會有一些左右錯位,所以我們可以用“變換”來進行些微的位移,實現(xiàn)我們的最終設計效果。
理清思路就能實現(xiàn)看似復雜的效果
本期制作的拉鏈效果幾何節(jié)點最大的優(yōu)勢就是可以隨意復用,在原始曲線的編輯模式下,我們可以任意調(diào)整曲線的長度、角度,拉鏈效果都能正確跟進,非常方便。事實上幾何節(jié)點在實現(xiàn)這些看起來可能很復雜的效果時往往都有奇效,因為準確來說它就是編程邏輯的圖像化表現(xiàn),只要理清了思路,很多設計其實都能迎刃而解,這也是我們?yōu)槭裁匆恢蓖扑]大家學習幾何節(jié)點的根本原因。