厚みのある平面の裏表で色を塗り分けたい

Blenderで初めてキャラクターモデリングをしていく中で、そのとき解決できなかった問題に少しずつ着手しています。今、参考にしている本はこちら↓

さて、今回はキャラクターの猫耳のテクスチャの修正です。本当は耳の内側をピンク色にしたかったのですが、平面のメッシュで作られた耳の表と裏で色の塗り分けができておらず、現状は毛の色一色でしか塗れていません。つまり、単純に言うと平面の表と裏で色を塗り分けたいと思っています。

平面の表と裏を塗り分ける方法について少し調べてみると、

  1. 裏地となるメッシュを新たに貼ってそれに着色する方法
  2. ノードを用いて裏表の塗り分けをする方法
  3. 厚みがあるメッシュの場合は厚み部分に切れ込みを入れて裏と表に展開して塗り分ける方法

といった方法があるようです。どれでやろうかな…🤔

1はデータ量が増えるはずなので、この方法はなしにしました。

2はジオメトリーノードというノードを使って、ビジュアルプログラミングのように実装する方法のようです。表裏の塗り分けは、この方法でやるのが一番簡単なようですね。

でも一方で、ジオメトリーノードはBlender環境に依存しており、他環境だとデータが読み込めない可能性が出てくるようです。私は、作ったモデルはエクスポートして他のソフトで取り込みたいと思っているので、こちらの方法もなしにしました。

3は本に出てきた方法を使えば実現できて、データの持ち方もシンプルそうです。今回の場合は、この方法でやりたいと思います。

現状の猫耳

original-ear

耳に厚みがあるので、表面と裏面と分かれるように展開します。元からある耳のUVはそのままにしておいて、追加で耳の内側のUVを作成することにします。

塗り分け手順

select-back

耳の内側を選択します。

unwrap

Unwrap > Smart UV Project で展開します。

back-uv

とても大きく展開されてしまったので、縮小・移動して元の耳の隣あたりに動かします。

paint

タブをテクスチャペイントに切り替えて、元の耳と新しく作成した耳の裏側を塗りました。いい感じにできました✌