薛山
我們的建筑效果簡單來說就是“搭積木”,通過讓X、Y、Z方向的“積木”數(shù)量變化來形成生長效果,而且為了增強(qiáng)戲劇化,還需要“積木”有不同的設(shè)計,而且在生長過程中“積木”還會隨機(jī)變化。為此,我們簡單設(shè)計3個不同的模塊,如圖1所示。注意,這里需要把它們的尺寸設(shè)置為完全相同,這樣才能方便我們的后續(xù)調(diào)整。
將這3個模塊新建一個集合,接下來我們再隨便新建一個物體,然后進(jìn)入它的幾何節(jié)點編輯器,先斷掉組輸入和組輸出的連接,新建一個柵格并連接到組輸出,這時候會看到它自動生成了一個平面,然后再新建一個點實例,并選擇3個模塊的集合,這時候你會看到一個有明顯重疊的模型,這是因為點實例會在平面的每一個頂點上放一個模塊,這時候我們的模塊是垂直擺放的,而平面是水平擺放,而且頂點數(shù)量也存在不匹配的情況,所以需要修改柵格的數(shù)據(jù),這里可以參考圖2所示,首先使用變換來沿X軸旋轉(zhuǎn)90°,讓平面立起來,然后再將X、Y尺寸修改為與我們模塊尺寸相同的數(shù)值,并且X、Y頂點都只放2個,這樣,我們就獲得正確的效果了,這時候調(diào)整點實例的隨機(jī)種其實就能看到模塊在不斷變化了。
如果你修改柵格的數(shù)據(jù),你會發(fā)現(xiàn)X、Y尺寸和X、Y頂點的關(guān)聯(lián)并不是那么的簡單,因為我們模塊的X長度為1m,所以尺寸X和頂點X的關(guān)系正好是尺寸X+1=頂點X,按照這個關(guān)系就能實現(xiàn)X方向的無縫生長。而模塊的Y長度為2,這意味著尺寸Y每增加2m,頂點Y才增加1,所以我們必須準(zhǔn)確按照這個邏輯來進(jìn)行設(shè)置,具體的幾何節(jié)點設(shè)置如圖3。
但這時候你又會發(fā)現(xiàn),這面墻的生長是以中心為原點,而我們希望它以下方某一個角為原點,要怎樣進(jìn)行修正呢?其實也很簡單,只需要再使用一個變換,讓它在增長時不斷位移以實現(xiàn)某一個角始終與世界原點對齊即可,而且這時候也很容易發(fā)現(xiàn)其實它的X軸補(bǔ)償值就是X頂點一半的數(shù)量,而Z軸補(bǔ)償值等于Y頂點數(shù)量,所以只需如圖4所示設(shè)置幾何節(jié)點編輯器,就能實現(xiàn)理想的生長效果了。
至此,我們的第一面墻就完成了,但建筑都至少有4個面,所以我們還需要進(jìn)一步把這第一面墻進(jìn)行旋轉(zhuǎn)和位置控制,這時候需要再通過變換,來搞定另外的3面墻。首先搞定緊鄰原點的第2面,這一面只需要旋轉(zhuǎn)-90°就能搞定,但還需要將Y縮放設(shè)置為-1,讓“窗戶”正確朝向外面。
而第3面和第4面也如法炮制,但區(qū)別在于這兩面需要調(diào)整X、Y的位置,而這個調(diào)整值不難發(fā)現(xiàn)其實就是X頂點的值,只是有一面是正數(shù),有一面是負(fù)數(shù),因為幾何節(jié)點沒有反向功能,所以需要一個簡單的數(shù)學(xué)邏輯進(jìn)行設(shè)置,具體的參數(shù)圖可以參考圖5。
幾何節(jié)點工具需要較強(qiáng)的空間理解能力
作為一款以3D建模為起點的軟件,Blender在這些年實現(xiàn)了功能模塊的大幅增強(qiáng),幾何節(jié)點作為最新的功能,很多玩法都還在挖掘的過程中,本期教程實現(xiàn)的效果就是一個比較好的學(xué)習(xí)案例。在學(xué)習(xí)過程中不難發(fā)現(xiàn)它跟著色器一樣,需要一定的數(shù)學(xué)邏輯思維,但相對來說更強(qiáng)調(diào)空間理解能力,你需要不斷地發(fā)現(xiàn)參數(shù)之間的關(guān)聯(lián),這樣才能不斷地解決問題,是一個很不錯的思考能力測試工具。