白黒テクスチャをマスクとして用い、アルファ抜きを利用することで簡単に髪の毛の毛束や模様を作る
上画像は比較画像で、右はテクスチャ無しの髪の毛、左は白黒テクスチャをマスクとしてアルファ抜きをした髪の毛です。右はアニメっぽく、左は毛束間が出ていてリアルっぽいです。今回は適当にUV展開したのでテクスチャの貼り付けが汚いですが、まじめにUV展開すればかなりそれっぽい髪の毛になりそうです。
1. はじめに
最近blenderのマテリアル・テクスチャ設定方法を調べており、色々試した結果、白黒テクスチャをマスク画像としてアルファ抜きに使うことで簡単に模様や髪の毛を作れる方法を見つけましたので備忘録として残します。
前回の記事はこちらになります。
2. 説明
2.1 そもそもアルファ抜きとは?
私は勝手にアルファ抜きと呼んでいますが、正確にはアルファ値を使って任意の場所を透過させる手法になります。
例えば以下のようなグレーと黒の模様が交互に配列した模様を見たことないでしょうか?このような模様がある場所は「そこには何も無い」とPCに判断させて透過させることができます。イメージとしては良くテレビなどでグリーンバックに動画を映したりしていますがあれに近いです。これを白黒情報を使って行う方法になります。
2.2 blenderでアルファ抜きを使ってみる
先に結果を見て頂いた方が早いので画像を載せます。上段が白黒のマスクを適用した結果で、下段は上段の黒部分をアルファ抜きした結果です。
黒い部分が透過して(透けて)いるのが分かります。このように黒部分を透過させることで様々な模様を作ることが可能です。
2.3 blenderでのアルファ抜きの方法
先ほどの画像の左下のモデル(斜線)で説明します。先に結果を載せます。
Eeveeを使っている場合は以下のようにマテリアルタブの設定欄のブレンドモードから「アルファブレンド」を設定します。Cyclesを使う場合はこの設定項目は無いので無視してください。
次にマテリアルを設定します。
枠は斜線のテクスチャであり、それをプリンシプルBSDFのアルファに繋ぎます。これでOKです。黒部分が透明になります。
プリンシプルBSDF以外のノードを使いたい場合もあると思います。その場合はミックスシェーダを使い、以下のように枠線を係数に、上側の透過シェーダーを、下側には任意のシェーダをつなぎます。これでOKです、今回は放射をつないでみました。こうすると係数部分にマスク情報が入り、黒部分に透過が、白部分に放射が適用されて黒部分が抜けて見えます。また反対に繋げば黒部分に放射、白部分に透過が適用されます。
3. テクスチャとアルファ抜きを組み合わせる
3.1 テクスチャ画像を用意する
アルファ抜きとテクスチャ画像を組み合わせることができます。まず以下のように髪の毛のテクスチャを用意します、私はこのテクスチャもBlenderで作りました。今後別記事で紹介します。なおこのテクスチャは自由に保存して使って頂いて構いません。
3.2 テクスチャ画像をモデルに適用する
次にマテリアルにテクスチャ画像を適用します。結果は以下になります。右がただテクスチャを設定しただけで、左はアルファ抜きとカラーを設定したものです。
Shift+Aで「テクスチャ」から画像テクスチャを選択します。そして開くボタンから先ほどの画像を読み込みます。
次にベースカラーに繋がっている上のカラーランプは髪色、アルファに繋がっている真ん中のカラーランプは白黒の量を設定しています。最下部のディスプレイスメントは凹凸感を付けるもので任意です。
3.3 UV展開する
次に「UV Editing」タブに移動し、全メッシュを選択してUV展開して、先ほどのテクスチャに合うように拡大縮小・回転させて合わせます。
これでUVにテクスチャが適用され、髪の毛っぽくなります。
4.応用: テクスチャとアルファ抜きを組み合わせて髪の毛の束感を作る
まず次のように髪の毛をカーブのベジエと円で作ります。
カーブのままだとUV展開できないので、「オブジェクトタブ」の「変換」から「カーブ/メタ/サーフェス/テキストからメッシュ」を選択してカーブからメッシュに変換します。
次にUV展開して髪の毛のテクスチャに合わせます。今回は急いで髪の毛を作ったのでメッシュが多くなってしまいました...
これで3.2と同様にマテリアルを設定すると毛束感がでます。
3. おすすめ書籍
以下の本は私がBlenderを始める際に参考にした本でお勧めです。
4. 最後に
今回はテクスチャとアルファ抜きの組み合わせを紹介しました。髪の毛の作成に使えそうなテクニックです。