跳到主要內容

發表文章

目前顯示的是 1月 3, 2021的文章

Blender 2.9x Procedural Texture : 編織 Weaver

基本結構 布料編織的基本結構如上圖:紗線彎成波浪形交疊而成,相鄰的平行線在同位置分別爲波峯、波谷。將平行 X 軸的紗線稱爲「緯線」、平行 Y 軸的紗線稱爲「經線」;緯線的波峯跟經線的波谷交疊,反之亦然。 Sine 函數 用 Math 節點的 Sine 函數來彎曲; 因爲 Sine 函數的重複週期是 2pi,所以先用 Vector Math 的 Scale 運算將座標系放大 2 倍,再將分離出來的 X 軸乘上 pi (直接在 Multiply 運算的第 2 個 Value 欄位輸入 pi、按 ENTER,Blender 自動轉換爲圓周率),使 X 軸的範圍達到 2pi,如此就可觀察到 Sine 函數的一個完整週期。 緯線 將座標系放大 4 倍,呈現 2 個完整週期。 相鄰兩條線必須錯開半個週期,錯開方法詳: http://digitized-life.blogspot.com/2020/12/blender-28x-procedural-tiling-materials.html 經線 用製作緯線同樣的方法製作經線。上圖顯示經線的波峯和緯線的波谷在同樣位置,因此必須將經線於 Y 軸平移半個週期,如下圖。 經緯交織 用 Math 節點的 Maximum 運算將經緯線交織在一起:Maximum 在兩個數值間取最大值,也就是取疊在上方的紗線。 紗線 上圖的紗線是平面彎曲,實際的紗線是圓柱體。我們在經線的 Sine 函數後連結 Math 節點的 Absolute 絕對值運算,把負值的波谷也變成正值的波峯,產生直的緯線,如下圖。 將直的緯線乘上讓其彎曲的 Sine 函數,得到彎曲的緯線,如下圖。 用同樣的方法製作經線,但我們發現上圖並沒有產生交織的結果。原因在於波谷部分全部是負值,Maximum 最大值運算取到的都是正值的波峯部分。解決之道是在 Sine 函數之後加 1,使波谷部分都能 >= 0,如下圖。 線寬 在 Absolute 運算節點後連結 1 Color Mix 節點,混色模式選 Color Burn。我對Color Burn 的理解是:如果 Color2 比 Color1 暗,就把 Color 1 變成黑色,Color2 是白色(R=G=B=1)則不起任何作用。因此我們可以改變 Color2 的顏色來改變紗線的寬度。但因改變顏色太麻煩,所以將