薛山
積木相信是大家從小都在玩的經典玩具了,以樂高為代表的品牌更是融合了各類創意IP,打造了大量經典積木作品,每年推出的機械組旗艦更是屢上熱搜,甚至還有不少以積木挑戰為主題的綜藝節目,老少咸宜的玩法讓樂高式積木在經歷數十年發展之后依然可以在全球范圍內保持高熱度。不過好玩歸好玩,但實體積木既受磚塊設計限制無法實現完全自由發揮,同時還相當占地方,那么我們能不能用Blender,將自己喜歡的3D模型變成樂高積木風格呢?答案當然是沒問題!今天我就來教大家如何實現“樂高自由”這個小目標吧!
既然是凡事皆可變成樂高積木,那我們的第一步就是先找到,或者自己設計一個模型,這次教程就使用一個飛龍的模型作為基礎,Blender支持多種格式的3D文件導入,大家可以在“文件”“導入”里看到各種格式,一般來說常用的是FBX、OBJ、X3D等,在導入完成后縮放到適合的尺寸,然后應用縮放,完成后可以得到圖1的效果。

然后我們就為這個模型新建幾何節點編輯器,對了,這次的教程我們需要3.4或以上版本的Blender,大家可以到官網下載,目前是3.4Beta和3.5Alpha可用,3.3.1LTS等版本暫不支持一些新的節點,而這些節點恰恰就是我們這次所需要的。
要讓這個飛龍實現積木效果,簡單來說就是用積木去替代它的頂點,而且一定要讓頂點的分布變得完全規律,如果直接使用“實例化于點上”基本上肯定是凌亂的,所以咱們首先要解決的就是頂點整齊規律分布的問題,這也正是新版Blender才有的功能。
在幾何節點編輯器里,我們首先要通過“網格到體積”將飛龍變成體積物體,也就是一團霧,然后再用新的節點功能“分布點于體積內”,最重要的是將分布方式從“隨機”切換為“柵格”,并用相同的數值去控制“網格到體積”的內部帶寬和“分布點于體積內”的間隔,并取消勾選“填充體積”,這時候我們就能得到一個如圖2那樣,沿著飛龍模型輪廓一排排整齊分布的頂點了。

這時候,我們可以通過調整“值(明度)”的大小來更改頂點分布的密度,值越小頂點越多,所以這里咱們不能把值設置得太小,不然很可能導致積木數據導入后預覽和渲染都會變得非常卡頓。
當然,如果你想要渲染更高分辨率,也就是更多積木的圖像,但預覽時又不想太卡頓,那也可以像圖3那樣,用一個“切換”節點,配合“是否視圖”來為預覽和渲染指定不同的數值,這也是幾何節點設計里比較常見的操作之一。

完成第二步之后,我們就要動手做積木模塊了,這個其實也非常簡單,只需要做一個標準的正方體積木模塊就能實現,可以如圖4那樣直接利用立方體來制作,也可以通過在立方體的編輯模式里添加柱體來實現,但注意咱們在這里盡量要讓立方體的邊長為1米,這樣會比較方便調整縮放。

積木模塊設計完成后,我們回到飛龍的幾何節點,利用“實例化于點上”,將積木模塊作為實例,縮放則直接使用之前得到的“值(明度)”,這樣我們就能得到一個以飛龍模型為基礎的積木造型了,具體效果可參考圖5。


這次咱們制作的效果只能在非正式版本的Blender里才能實現,而從Blender這段時間的更新頻率來看,在被Adobe收購之后,軟件功能研發速度確實大大加快,從玩法來說我也更建議大家多多嘗試這些實驗性的功能。當然,這也是有風險的,一是軟件更容易崩潰,二是在正式版推出時功能實現方式可能會發生改變,甚至被另一個模塊完全替代也并非不可能,所以更適合大家練手,嚴肅用途的內容制作還是使用LTS版更穩妥。