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

2019年3月3日

モデリングをBlender、テクスチャーペイントをSubstancePainterで「髪の毛」の作成にチャレンジしてみました。これが正しいのかわかりません(困惑

 

※画像はクリックで拡大できます

 

スポンサーリンク

お手本の動画

 

 

上記の動画をお手本に真似すれば、「自分も動画のようなカッコいい髪の毛が作成できる!」と思い色々やってみました。

結論から言うと同じようにはできなかったのですが、原因の予想に関しても後述致します。

 

Blenderで髪の毛作成

最初に髪の毛のモデリングを行います。

どちらの参考動画も平面のカーブで髪の毛を作成しているので、以前作成した髪の毛をカーブメッシュで作り直しました。

注意する点は、髪の毛のUV展開を行うにあたり等間隔の正方形でUVマップを構成するため、髪の毛の鋭角部分も三角面にせず四角面にします。

ベジエカーブで髪の毛作成

 

髪の毛のUV展開

 

髪の毛のUV展開はどちらの動画も、髪の房を構成する面が均等な正方形となるように整列してUV展開しています。

Blenderで同様のUV展開を行うのに便利な方法がありました。

まず、生え際など基準とする面を選択します。

面選択

 

基準面が選択された状態で全体を選択します。

基準面と全体選択

 

ショートカットでUキーを押すか、「メッシュ」→「UV展開」を選択した後で「アクティブ四角形面に追従」を選択する事で均等な正方形に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のバージョン違いが影響しています。

Hair Shaderのシェーダー設定

 

髪の毛マテリアルのシェーダーを変更した事で両面ポリゴン表示になった事が確認できます。

平面ポリの両側が見えるようになる

 

SubstancePainterで髪の毛テクスチャーの作成

 

動画と同様に、髪の毛マテリアルのレイヤに塗りつぶしレイヤをどんどん追加していきます。

最初に塗りつぶしレイヤを追加しベースの色を決定します。

塗りつぶしレイヤを複製して「黒のマスクを追加」、黒マスクに「Add fill」します。Add fillで追加したエフェクトのグレースケールに「Fur 3」を設定します。Fur 1とかでも良いかもしれません。

後はFur 3のUV Scale、Rotation、Offsetを髪っぽく見えるようにお好みで調整します。また、Heightを調整すると髪に立体感が出ます。

塗りつぶしレイヤを追加
塗りつぶしエフェクトの設定
この段階での髪の見た目

 

黒マスクを追加したレイヤを複製し、ベースカラーを調整し黒マスクに「Add levels」を選択します。レベルを調整し、見た目を確認します。

複製したレイヤにAdd levels

 

レベルを追加したレイヤでなく、先程の複製したレイヤをもう一度複製して「PROPERTIES – 塗りつぶし」でマテリアルをOpacityのみにして値を0にします。

Opacityの項目が無い場合は「TEXTURE SET SETTINGS」のチャンネルにある「+」ボタンで追加できます。

再度複製したレイヤのOpacity設定
Opacity項目が無い場合の追加

 

黒マスクの塗りつぶしエフェクトのグレースケールパラメーターのInvertをONにします。

塗りつぶしエフェクトのグレースケール

 

黒マスクに「Add levels」して髪の毛が禿げない程度にレベルを調整します。

レベルの調整

 

とりあえず髪の毛っぽくなってくれたかと思うようにします。

最終的な状態

 

pbr-metal-rouch-with-alpha-blendingを使用できなかった訳

 

髪の毛マテリアルのシェーダーに「 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」を使用しなかった次第であります。

作り方によっては気にならなく行ける物なんでしょうかね?

スポンサーリンク