Blenderであそんでみた

3D-CGソフトBlenderの小技や豆知識など。

【Blender】編み物のマテリアルの作り方

※記事製作時のバージョン:Blender3.6

 

今回の記事は編み物のマテリアルの作り方です。
編み目模様のサイズや、手編み風・機械編み風の切り替えなどを、ノードのパラメーターで操作できるマテリアルを作ります。

この記事では、基本となる「メリヤス編み」、その応用的な「裏メリヤス編み(ガーター編み)」、この2つを組み合わせて作る「リブ編み(ゴム編み)」の3種類の作り方を紹介します。

では早速作っていきましょう。

 

▼目次

 

メリヤス編みの作り方

1. 毛糸の模様を作る

まず、編み模様の元になる毛糸の模様を作ります。

 

1.[平面]オブジェクトに、新規マテリアルを作成します。

 

2.[テクスチャ座標]と[波テクスチャ 1]を追加します。

※今回は同じ種類のノードをたくさん使うので、番号を振って区別します。

 

3. この2つのノードを、次のように接続します。

  • [テクスチャ座標:UV]>[波テクスチャ 1:ベクトル]
  • [波テクスチャ 1:係数]>[マテリアル出力:サーフェス

これでオブジェクトが、[波テクスチャ 1]の縞模様になります。

※編み物は「平面を元にした立体形状」なので、テクスチャ座標は[UV]を使います。
※[プリンシプルBSDF]は後で使うので、脇に残しておきます。

 

4.[波テクスチャ 1]の方向を[斜め]に変更します。

縞模様が斜めになりました。
これが毛糸模様の元になります。

次は、この模様に毛糸のねじれ模様を加えます。

 

5.[マッピング 1]と[波テクスチャ 2]を追加します。

 

6. この2つのノードを、次のように接続します。

  • [テクスチャ座標:UV]>[マッピング 1:ベクトル]
  • マッピング 1:ベクトル]>[波テクスチャ 2:ベクトル]
  • [波テクスチャ 2:係数]>[マテリアル出力:サーフェス

これでオブジェクトが、一時的に[波テクスチャ 2]の模様になります。

 

7.  この2つのノードのパラメーターを、次のように設定します。

マッピング 1

  • 回転 Z:-15°

▼波テクスチャ 2

  • スケール:15

これで、斜めの細かい縞模様になります。

この模様を[波テクスチャ 1]と合成します。

 

8.[カラーミックス 1]を追加します。
 ブレンドモードは[乗算]にしておきます。

 

9.[カラーミックス 1]を、次のように接続します。

  • [波テクスチャ 1:係数]>[カラーミックス 1:A]
  • [波テクスチャ 2:係数]>[カラーミックス 1:B]
  • [カラーミックス 1:結果]>[マテリアル出力:サーフェス

これで[波テクスチャ 1]に[波テクスチャ 2]が合成され、毛糸のねじれ模様ができます。
※[カラーミックス 1]の係数が[0.5]なので、[波テクスチャ 2]の模様は淡いグレーになります。

このままでは全体的に模様が直線的すぎるので、毛糸らしい揺らぎをつけます。

 

10. 2つの[波テクスチャ]のパラメーターを、次のように設定します。

▼波テクスチャ 1

  • 歪み:2
  • 細部のスケール:8

▼波テクスチャ 2

  • 歪み:3
  • 細部のスケール:5

これで全体的に揺らぎがつき、毛糸らしい見た目になります。

 

2. 編み模様を作る

この毛糸の模様を元に編み模様を作るのですが・・・
その前に、編み模様作りのポイントになる部分を解説しておきます。

 

1.[マッピング 2]を追加します。

 

2.[マッピング 2]を、次のように接続します。

 

ここで実験です。
追加した[マッピング 2]の[スケール X]を[-1]と設定してみてください。
すると・・・

全体の模様が左右反転しました!
これが今回の編み模様作りのポイントです。

 

ではこの仕組みを踏まえて、編み模様を作っていきましょう。

 

3.[波テクスチャ 3]を追加します。

 

4.[波テクスチャ 3]を、次のように接続します。

  • [テクスチャ座標:UV]>[波テクスチャ 3:ベクトル]
  • [波テクスチャ 3:係数]>[マテリアル出力:サーフェス

これでオブジェクトが、一時的に[波テクスチャ 3]の模様になります。

 

5.[波テクスチャ 3]のパラメーターを、次のように設定します。

  • Wave Profile:鋸波
  • スケール:1.3

これで、縞模様のパターンと幅が変化します。

このグラデーションを加工していきます。

 

6.[数式]と[範囲マッピング 1]を追加します。
 [数式]の処理方法は[小さい]にしておきます。

 

7. この2つのノードを、次のように接続します。

これで[数式(小さい)]の働きにより、グラデーションが白黒の2色に変換されます。

 

8.[範囲マッピング 1]の[最小へ]を[-1]に設定します。

画面上の見た目は変わりませんが、数値的には[黒い部分:-1、白い部分:1]と変換されています。

これで準備が整いました。
オブジェクトの表示を元に戻しましょう。

 

9.[カラーミックス 1]を[マテリアル出力]に接続します。

  • [カラーミックス 1:結果]>[マテリアル出力:サーフェス

これでオブジェクトが、元の毛糸の模様に戻ります。

 

10.[XYZ合成]を追加します。
 [XYZ合成]の値は[Y:1、Z:1]と設定しておきます。

 

11.[XYZ合成]を、次のように接続します。

これで[マッピング 2]の[スケール X]に[1]と[-1]が交互に入力され、毛糸の模様が交互に左右反転するようになります。
いよいよ編み目らしくなってきました。

しかし、このままでは左右反転の境界がぶつ切れで、いかにも切って貼ったような見た目です。
さらに毛糸らしく見えるように、もうひと工夫します。

 

12.[波テクスチャ 3]を[Shift+D]でコピーします。
 コピーした[波テクスチャ 4]は、Wave Profileを[サイン]に変更します。

 

13.[カラーランプ]を追加します。

 

14. この2つのノードを、次のように接続します。

  • [テクスチャ座標:UV]>[波テクスチャ 4:ベクトル]
  • [波テクスチャ 4:係数]>[カラーランプ:係数]
  • [カラーランプ:カラー]>[マテリアル出力:サーフェス

これでオブジェクトが、一時的に[波テクスチャ 4]の模様になります。

 

15.[カラーランプ]の[カラーストップ]を、次のように設定します。

  • カラーストップ 0 位置:0.0、カラー:黒(V:0)
  • カラーストップ 1 位置:0.1、カラー:白(V:1)
  • カラーストップ 2 位置:0.9、カラー:白(V:1)
  • カラーストップ 3 位置:1.0、カラー:黒(V:0)

これで、周期が半分の細い黒縞模様ができます。

この縞模様を毛糸模様と合成します。

 

16.[数式]を追加します。
 処理方法は[乗算]にしておきます。

 

17.[数式(乗算)]を、次のように接続します。

  • [カラーミックス 1:結果]>[数式(乗算):値 1]
  • [カラーランプ:カラー]>[数式(乗算):値 2]
  • [数式(乗算):値 ]>[マテリアル出力:サーフェス

これで毛糸模様が左右反転する境界に縞模様が重なり、編み目らしい見た目になります。

 

3. 模様を調整する仕組みを作る

さらに使いやすくするため、「模様全体のスケール」「手編み風・機械編み風の切り替え」を操作できるようにします。

 

▼模様のスケールの調整

1.[テクスチャ座標:UV]から出力するリンクを、すべて[リルート]でまとめます。

 

2.[値]ノードと[マッピング 3]を追加します。
 [値]ノードの数値は[1]にしておきます。

 

3. この2つのノードを、次のように接続します。

 

これで、[値]ノードの数値で模様全体のスケールを操作できるようになります。

 

▼手編み風・機械編み風の切り替え

1.[波テクスチャ 3]と[波テクスチャ 4]の[細部のスケール]を[5]にします。

 

2.[値]ノードを追加して、次のように接続します。

  • [値ノード:値]>[波テクスチャ 3:歪み]
  • [値ノード:値]>[波テクスチャ 4:歪み]

 

これで[値]ノードの数値で、毛糸模様が左右反転する境界の揺らぎを操作できるようになります。
機械編み風にする場合は[0]、手編み風にする場合は[2]~[3]くらいにします。

 

4. 質感を設定する

これで「編み物のテクスチャ」ができました。
仕上げに、このテクスチャを元に質感を設定していきます。
※この先の変化は立体の方が分かりやすいので、見本のオブジェクトを[円柱]に変更します。

 

1.[カラーミックス 1]をコピーします。

 コピーした[カラーミックス 2]は、パラメーターを次のように設定します。

  • 係数:0.8
  • A:毛糸の色(またはテクスチャ)

 

2.[カラーミックス 2]と[プリンシプルBSDF]を、次のように接続します。

  • [数式(乗算):値 ]>[カラーミックス 2:B]
  • [カラーミックス 2:結果]>[プリンシプルBSDF:ベースカラー
  • [プリンシプルBSDF:BSDF]>[マテリアル出力:サーフェス

これで[カラーミックス 2]の[A]に設定した毛糸の色(またはテクスチャ)に、編み模様の暗い部分が合成され、編み目の凹んだ部分の陰影が表現できます。

 

3.[カラーミックス 2]をコピーします。

 コピーした[カラーミックス 3]は、パラメーターを次のように設定します。

 

4.[カラーミックス 3]を、次のように接続します。

  • [カラーミックス 2:結果]>[カラーミックス 3:A]
  • [数式(乗算):値 ]>[カラーミックス 3:B]
  • [カラーミックス 3:結果]>[プリンシプルBSDF:ベースカラー

これで編み模様の明るい部分が合成され、「毛糸が毛羽立って白っぽく見える様子」が表現できます。

次は光沢を調整します。

 

5.[プリンシプルBSDF]のパラメーターを、次のように設定します。

  • 粗さ:1
  • シーン:1

これで、毛系らしい柔らかな光沢になります。

最後に、スペキュラーマッピングで毛糸の立体感を表現します。

 

6.[範囲マッピング]を追加します。
 [範囲マッピング]の[最大へ]は[0.5]にしておきます。

 

7.[範囲マッピング]を、次のように接続します。

  • [数式(乗算):値 ]>[範囲マッピング:値]
  • [範囲マッピング:結果]>[プリンシプルBSDF:スペキュラー]

これで編み模様の暗い部分から光沢がなくなり、毛糸の凹凸の立体感が表現できます。

これで今回必要なすべてのノードがそろいました。
最後に、作りたい質感に合わせて微調整すれば完成です。

 

▼微調整 1:毛糸の毛羽立ち具合の調整

[カラーミックス 3(スクリーン)]の係数を調整すると、模様の白っぽさが変化して、毛糸の毛羽立ち具合の違いを表現できます。
イメージ的な目安は次のようになります。

  • 0.0:化学繊維や綿などの、毛羽立ちの少ない毛糸
  • 0.1:普通の毛糸
  • 0.2:かなり毛羽立った毛糸

 

▼微調整 2:バンプマッピングによる立体感の表現

バンプマッピングを追加すると、毛糸の立体感をさらに際立たせることができます。

なお、編み物でバンプマッピングをすると、次のようなデメリットが発生する場合があります。

  • 陰影がくっきりし過ぎて、毛糸が堅い雰囲気になる
  • 編み目を細かくすると、陰影の見た目がおかしくなる

またバンプマッピングはPCの負荷が大きくなるので、求める質感とPCのスペックに合わせて使用してください。

 

以上で、メリヤス編みのマテリアルのできあがりです。

 

裏メリヤス編み(ガーター編み

次は裏メリヤス編み(ガーター編み)を作ります。
最初に、全体的な手順をざっくり説明しておきます。

まずボロノイテクスチャとカラーランプで輪っか模様を作り、

 

波テクスチャでベクトルを操作して模様を半分ずつずらし、

 

毛糸のねじれ模様を合成して、

 

模様をずらした境界に薄く陰影を加える、という手順です。

 

このように、元にするパターンが違うだけで、模様を加工していく手法はメリヤス編みの応用になります。
なので細かい解説は省略して、最終形のノードツリーと要点だけを説明します。
詳しい仕組みに興味のある方は解析にチャレンジしてみてください。

 

【ノードツリー全体図】

 

【拡大図 1】

  1. 模様全体のスケールを操作するノードです。
  2. 手編み風・機械編み風を切り替えるノードです。
  3. 波テクスチャの幅をボロノイテクスチャのセルの大きさと合わせる仕組みです。
    • 左上段の[3.142]は円周率です。「pi」と入力すると、自動で[3.14159]に変換されます。
    • 波テクスチャの[スケール]に[0.314159]を入力すると、幅が[1]になります。それをさらにボロノイテクスチャの[スケール]と同じ値(今回は[5.5])で割ると、波テクスチャの幅とボロノイテクスチャのセルの大きさが同じになる、という仕組みです。

 

【拡大図 2】

  1. ボロノイテクスチャのセルの大きさの半分の数値です。今回はボロノイテクスチャの[スケール]が[5.5]なので、「1/5.5/2」と入力すれば自動で計算されます。
  2. [カラーストップ]は次のように設定します。

    • カラーストップ 0 位置:0.0、カラー:黒(V:0)
    • カラーストップ 1 位置:0.05、カラー:白(V:1)

 

【拡大図 3】

  1. [カラーストップ]は次のように設定します。

    • カラーストップ 0 位置:0.05、カラー:黒(V:0)
    • カラーストップ 1 位置:0.3、カラー:白(V:1)
    • カラーストップ 2 位置:0.6、カラー:黒(V:0)

 

【拡大図 4】

ここはメリヤス編みと同じです。

 

以上で、裏メリヤス編みのマテリアルのできあがりです。

 

リブ編み(ゴム編み)

さて、メリヤス編みと裏メリヤス編みができました。
この2つを組み合わせて、リブ編み(ゴム編み)を作ります。

 

1. メリヤス編みと裏メリヤス編みのノードツリーを用意します。
 裏メリヤス編みの「質感を設定する部分」のノードは不要なので、削除します。

 

2.[カラーミックス]を追加します。
 また、メリヤス編みの「テクスチャの部分」と「質感の部分」の間を、[リルート]でまとめます。

 

3.[カラーミックス]を、下の画像のように接続します。

 

これで、[カラーミックス]の[係数]で模様を切り替えられるようになります。
[0]にするとメリヤス編み、[1]にすると裏メリヤス編みになります。

次は、メリヤス編みの「模様を交互に左右反転する方法」を応用して、メリヤス編みと裏メリヤス編みを交互に切り替えます。

 

4.[波テクスチャ]と[数式]を追加します。
 パラメーターは、次のように設定しておきます。

▼波テクスチャ

  • Wave Profile:鋸波
  • スケール:0.7
  • 歪み:1
  • 細部のスケール:20

▼数式

  • 処理方法:小さい
  • 値 2:0.4

 

5. この2つのノードを、下の画像のように接続します。
 これでメリヤス編みと裏メリヤス編みが交互に切り替わり、リブ編みになります。

 

拡大図。

このままだとリブ編みの立体感が足りないので、もうひと工夫します。

 

6.[数式]を追加します。
 パラメーターは[乗算]にしておきます。

 

7.[数式]を、下の画像の位置に接続します。
 これで裏メリヤス編みの部分が少し暗く、凹んで見えるようになります。

仕上げに、不要なノードを整理します。

 

8.[テクスチャ座標]~「模様全体のスケールを操作する部分」は共通なので、1つにまとめます。

 

9.「手編み風・機械編み風の切り替え」を操作する[値]ノードも共通なので、1つにまとめます。

これで今回必要なすべてのノードがそろいました。
最後に、作りたい編み目に合わせて微調整すれば完成です。

 

▼微調整 1:リブの

メリヤス編みと裏メリヤス編みを切り替える[波テクスチャ]の[スケール]で、リブの幅を操作できます。

 

この値が小さいほどリブの幅が広く、値が大きいほど幅が狭くなります。
※次に説明する「表目と裏目の割合」と合わせて調整します。

 

▼微調整 2:表目と裏目の割合

メリヤス編みと裏メリヤス編みを切り替える[数式(小さい)]の[値 2]で、表目と裏目の割合を操作できます。

 

[0]で表目のみ、[1]で裏目のみ。
中間値は値に応じた割合になります。

以上で、リブ編みのマテリアルのできあがりです。

 

補足:画像テクスチャで柄を設定する時のコツ

画像テクスチャで編み物の柄を設定する際、元の画像の輪郭がくっきりしていると、編み目から浮いた感じになります。

 

このような場合は、画像テクスチャに入力するベクトルに[ノイズテクスチャ]をミックスすると、画像の輪郭が歪んで編み目と馴染むようになります。

 

[ノイズテクスチャ]の[スケール]で歪みの大きさを、
[カラーミックス]の[係数]で歪みの強さを操作できます。
編み目の大きさに合わせて調整してください。

 

 

以上、「編み物のマテリアルの作り方」でした。

 

twitter

灰ならし (@hainarashi) | Twitter