はじめに
3DCGにおいて細かい傷や皺って normal map や diffuse map で表しますよね。
本記事では normal map のみで表現されているとし、動かすボーンは1つとします。
あなたの人差し指の第二関節を曲げ伸ばししてみてください。
人差し指の第二関節が曲がっていないときは皺が出現し、曲げると皺が消えます。
これを normal map の混ぜ合わせで表現しようというのが本記事の趣旨です。
Blender のバージョンは 4.4.3 です。

normal map を2つ用意する
normal map を2つ用意してください。
1つは、ボーンを回転させる前の法線を表現するものです。こちらの記事を参考に作成してみてください。

もう1つは、ボーンを回転させた後の法線を表現するもので対応した色 (128, 128, 255) で塗られた normal map です。

Material で法線を混ぜ合わせる
さてここからが本番です。
最初に、image texture node で2つの法線を読み込みます。

次に、 value node を作成し、driver を追加してボーンのX軸の角度を受け取ります。
driver を編集して 0°の時に 0 、-90°の時に1になるように -var / pi * 2 とします。
これが混ぜ合わせる係数になります。
この係数を [0,1] に clamp しておきます。

最後に2つの法線を係数で線形補間し、正規化します。
※本来ベクトルの球面線形補間をすべきですが、計算量が多いため線形補間としました。

実際に動かしてみる
良い感じになりましたね。

diffuse map を混ぜ合わせるには?
細かい傷や皺は diffuse map を使っている場合もあります。
その場合は法線同様、線形補間すればよいです。
diffuse map は単に色なので正規化はする必要はありません。
最後に
関節を複数動かす場合の記事も書く予定です。基本的には変わりません。
