【SubstancePainter】【Blender】髪の毛のモデリングとテクスチャー作成

モデリングをBlender、テクスチャーペイントをSubstancePainterで「髪の毛」の作成にチャレンジしてみました。これが正しいのかわかりません(困惑
※画像はクリックで拡大できます
お手本の動画
上記の動画をお手本に真似すれば、「自分も動画のようなカッコいい髪の毛が作成できる!」と思い色々やってみました。
結論から言うと同じようにはできなかったのですが、原因の予想に関しても後述致します。
Blenderで髪の毛作成
最初に髪の毛のモデリングを行います。
どちらの参考動画も平面のカーブで髪の毛を作成しているので、以前作成した髪の毛をカーブメッシュで作り直しました。
注意する点は、髪の毛のUV展開を行うにあたり等間隔の正方形でUVマップを構成するため、髪の毛の鋭角部分も三角面にせず四角面にします。
髪の毛のUV展開
髪の毛のUV展開はどちらの動画も、髪の房を構成する面が均等な正方形となるように整列してUV展開しています。
Blenderで同様のUV展開を行うのに便利な方法がありました。
まず、生え際など基準とする面を選択します。
基準面が選択された状態で全体を選択します。
ショートカットでUキーを押すか、「メッシュ」→「UV展開」を選択した後で「アクティブ四角形面に追従」を選択する事で均等な正方形にUV展開する事ができます。
後は髪の毛の房分、UV展開します。
UVを重ねると重なった部分は手塗りできなくなりますが、髪の場合は手塗りしないので良いんじゃないかと思いました(汗
後はSubstancePainterにFBXないしOBJ形式でインポートします。
SubstancePainterでシェーダーの設定
BlenderでエクスポートしたモデルをSubstancePainterで読み込むとまず、有る事に気が付きます。
今回髪の毛で使用したような平面ポリゴンは法線方向の表側しか描画されておらず、正面から後ろ髪をみるようなケースだと後ろ髪が表示されません。
これは髪の毛マテリアルのシェーダーを変更する事で平面ポリゴンも両面表示されるようになります。
髪の毛マテリアルをデフォルトの「Main shader」から「New shader instance」で新規作成したシェーダーに変更します。名前はHair Shaderとしておきました。
新規作成したHair ShaderをSHADER SETTINGSで「pbr-metal-rough」から変更します。ここで動画では「pbr-metal-rouch-with-alpha-blending」にしていますが、「pbr-metal-rouch-with-test」に変更します。
何故 「pbr-metal-rouch-with-alpha-blending」にしないかは後述しますが、動画と同様の結果にならなかったのはここが原因かと思っています。SubstancePainterのバージョン違いが影響しています。
髪の毛マテリアルのシェーダーを変更した事で両面ポリゴン表示になった事が確認できます。
SubstancePainterで髪の毛テクスチャーの作成
動画と同様に、髪の毛マテリアルのレイヤに塗りつぶしレイヤをどんどん追加していきます。
最初に塗りつぶしレイヤを追加しベースの色を決定します。
塗りつぶしレイヤを複製して「黒のマスクを追加」、黒マスクに「Add fill」します。Add fillで追加したエフェクトのグレースケールに「Fur 3」を設定します。Fur 1とかでも良いかもしれません。
後はFur 3のUV Scale、Rotation、Offsetを髪っぽく見えるようにお好みで調整します。また、Heightを調整すると髪に立体感が出ます。

黒マスクを追加したレイヤを複製し、ベースカラーを調整し黒マスクに「Add levels」を選択します。レベルを調整し、見た目を確認します。
レベルを追加したレイヤでなく、先程の複製したレイヤをもう一度複製して「PROPERTIES – 塗りつぶし」でマテリアルをOpacityのみにして値を0にします。
Opacityの項目が無い場合は「TEXTURE SET SETTINGS」のチャンネルにある「+」ボタンで追加できます。
黒マスクの塗りつぶしエフェクトのグレースケールパラメーターのInvertをONにします。
黒マスクに「Add levels」して髪の毛が禿げない程度にレベルを調整します。
とりあえず髪の毛っぽくなってくれたかと思うようにします。
pbr-metal-rouch-with-alpha-blendingを使用できなかった訳
髪の毛マテリアルのシェーダーに「 pbr-metal-rouch-with-alpha-blending 」を設定する事で動画で作成されている髪の毛の様子に近くなります。
しかし、本来奥に見えるはずの髪の房が手前に見えてしまうといった、ソートの問題が発生してしまいます。
動画を確認してもこの現象は発生しておらず、随分と悩みましたがSteamストアのSubstancePainter 2018スレッドに今回の現象に該当すると思われる記載がありました。
ー 2018.2でシェーダ「pbr-metal-rouch-with-alpha-blending」が正しく機能しない ー
動画で使用されているSubstancePainterのバージョンはこれより以前の物であり、自身が使用しているのは2018.3.1なので条件としては当てはまるのかと・・・・・(涙
現在対応に取り組まれているという事なので、治るまでの間ソートに問題がある場合は「pbr-metal-rouch-with-test」を使用するようにと記載がありましたので、今回「pbr-metal-rouch-with-alpha-blending」を使用しなかった次第であります。
作り方によっては気にならなく行ける物なんでしょうかね?
ディスカッション