不僅是動畫,AN 也是很強大的建模工具,比如利用迴圈(Loop)副程式來突破 Array 編修器的限制。迴圈副程式是讓電腦重複的做同一件事,上圖的迴圈使陣列物件能有不同的間距及偏移,讓結果能不那麼單調、死板。製作方式為:
新增一 Loop 副程式:SHIFT+A -> Subprograms -> New: Loop,如下圖:
- Index 是第幾次執行的計數,注意電腦程式的計次是從 0 開始算,所以第一次執行的 Index = 0,第二次 = 1...;
- 按 New Iterater 前面的 + 新增一來源類型,選 Object List;
- 在最下面的名稱欄位為此副程式命名,預設的名稱是 My Loop。
- 新增一物件複製器:SHIFT+A -> Object -> Instancer;
- 預設的複製方式是 Copy from Source, 相當於連結複製 ALT+D;
- Copy Full Object 是連來源的編修器和約束都一併複製;
- Deep Copy 相當於 SHIFT+D 複製;
- Instances 是複製數量;
- 選取被複製的物件;
- 如果有開啟 Auto Excution,設定完成後,物件應立即被複製,不過會跟來源物件重疊在一起。我們要利用 My Loop 副程式把新複製的物件分開。按 SHIFT+A 新增 Subprograms -> Invoke Subprogram: My Loop,然後跟 Object Instancer 節點連結。Object Instancer 的複製數量就是迴圈的執行次數。
- SHIFT+A -> Object -> Object Transforms Output 節點,控制新複製物件的位置;
- 計次加 1,避免新複製的第一個物件跟來源物件重疊;
- 物件間的間隔距離;
- 利用亂數(Random Number: SHIFT+A -> Number -> Randomize)讓物件間的距離產生變化;
- Seed 亂數種子:如果每次迴圈都使用同樣的亂數種子,會產生同樣的亂數,因此利用 Index 值來產生不同的亂數;
- Min, Max: 亂數產生的範圍。
Blender Add-Ons
Blender 學習筆記
留言
張貼留言