Translate this Website to:

星期六, 4月 09, 2016

Blender Addon : Animation Nodes 1.5 - 迴圈陣列


不僅是動畫,AN 也是很強大的建模工具,比如利用迴圈(Loop)副程式來突破 Array 編修器的限制。迴圈副程式是讓電腦重複的做同一件事,上圖的迴圈使陣列物件能有不同的間距及偏移,讓結果能不那麼單調、死板。製作方式為:

新增一 Loop 副程式:SHIFT+A -> Subprograms -> New: Loop,如下圖:

  1. Index 是第幾次執行的計數,注意電腦程式的計次是從 0 開始算,所以第一次執行的 Index = 0,第二次 = 1...;
  2. 按 New Iterater 前面的 + 新增一來源類型,選 Object List;
  3. 在最下面的名稱欄位為此副程式命名,預設的名稱是 My Loop。
物件複製:

  1. 新增一物件複製器:SHIFT+A -> Object -> Instancer;
  2. 預設的複製方式是 Copy from Source, 相當於連結複製 ALT+D;
  3. Copy Full Object 是連來源的編修器和約束都一併複製;
  4. Deep Copy 相當於 SHIFT+D 複製;
  5. Instances 是複製數量;
  6. 選取被複製的物件;
  7. 如果有開啟 Auto Excution,設定完成後,物件應立即被複製,不過會跟來源物件重疊在一起。我們要利用 My Loop 副程式把新複製的物件分開。按 SHIFT+A 新增 Subprograms -> Invoke Subprogram: My Loop,然後跟 Object Instancer 節點連結。Object Instancer 的複製數量就是迴圈的執行次數。
副程式 My Loop Frame

  1. SHIFT+A -> Object -> Object Transforms Output 節點,控制新複製物件的位置;
  2. 計次加 1,避免新複製的第一個物件跟來源物件重疊;
  3. 物件間的間隔距離;
  4. 利用亂數(Random Number: SHIFT+A -> Number -> Randomize)讓物件間的距離產生變化;
  5. Seed 亂數種子:如果每次迴圈都使用同樣的亂數種子,會產生同樣的亂數,因此利用 Index 值來產生不同的亂數;
  6. Min, Max: 亂數產生的範圍。
References:
Blender Add-Ons

Blender 學習筆記

0 意見 Comments:

張貼留言

Related Posts Plugin for WordPress, Blogger...