BlenderとUnityで作ったものをVR(Meta Quest/Oculus Link)で動かします

ブログの女の子を作る #68 綿100%のパンツをHDRPのサンプルマテリアルで作る【Unity】

 
 
今回はパンツです。
 
これまでに、シェーダーで影を付け、ハイポリのスカルプトとノーマルマップでシワを付け、UV展開とテクスチャ画像で柄を増やしてきました。だいぶん良くなってはきましたが、布の質感が表現できませんでした。
 
ずっと探してたのですが、レンダーパイプラインをHDRPに切り替えた時、HDRP/Fabricシェーダーの下に CottonWool Silk という布系シェーダーが追加されてるのを見つけました!
ですが、使ってみてもなかなか良い感じにはなってくれません。設定が難しい。。。
 
そこで今回は、HDRPの中に入っているサンプルマテリアルを使って綿のパンツを作ってみました。
 
★この記事は作業の都合上、パンツの画像を多数含みます。ご注意くださいね。



開発環境

・Blender 2.90.1
・Unity 2020.2.7f1(High Definition RP 10.3.1)
・Magica Cloth v1.9.3
・グラボ:ASUS ROG-STRIX-RTX2060S-O8G-GAMING
・Meta Quest 2(Oculus Link利用)
 

(1) HDRPのサンプルマテリアルをインポートする

まずは、UnityにHDRPのサンプルマテリアルをインポートします。
 
Unityの公式ページも参考になるかと思います。
 

Package Managerからインポートする

サンプルは Package Manager からインポートします。
 
Packages: In Project」で「High Definition RP」を選択し、Samplesで「Import」ボタンをクリックします。
 
Assets/Samples/High Definition RP/10.3.1/Material Samples/Materials」にサンプルマテリアルがインポートされました。
 


(2) サンプルマテリアルを設定する

早速、パンツにサンプルマテリアルを設定していきます。
 
使うのは「Cotton」です。シェーダーには「Shader Graph」が使われているようですね。
 

Cotton を設定してみる

設定前の状態です。
 
パンツのマテリアルに「Cotton」を設定してみると、色が緑に変わって、警告メッセージが出ました。
ちなみに、前面だけ色が変わってるのは、パンツは4つのマテリアルを使っていて、一つ目のマテリアルだけを変更したからですよ。
 
で、メッセージを見てみると「Diffusion ProfileをHDRPのDefault Settingsに追加する必要がある」とのこと。
 
Fixボタンをクリックして、設定を自動で追加してもらいましょう。Fixボタンは便利ですね。
色が直った?ようです。
 
とりあえず、パンツのマテリアルをすべて Cotton に変更してみました。
ですが、色が付いてます。
 

Base Color を変更する

Base Color を白に変更すると、パンツが白くなりました。
 
少しベージュっぽい気もしますが、少しカメラを離してみると、白っぽく見えます。
HDRPのカメラは、見えている内容によって「露出や絞りが自動的に変更される」ので、こんな感じに見えるようです。
 

拡大しても綿の糸が見える!

設定した Cottonマテリアルをじっくり見てみます。
 
綿の糸が良い感じに見えて、布の質感が出てきました!
 
しかも、もっと拡大してもテクスチャ画像が粗くならず、キレイに見えてます。
スゴイですね。
 

ノーマルマップを設定する

以前に作ったノーマルマップを設定してみましょう。
 
設定前です。
 
Cottonマテリアルを使った状態でも、ノーマルマップが使えました。
パンツのシワが良い感じです。
 
Normal Map Strength」を 1.0 → 1.3 に上げて、影を強めにしてみました。
 
後ろから見るとこんな感じに。
 

糸の太さを変更する

このシェーダーでは、糸の太さ(テクスチャ画像の大きさ)をパラメータで変更できます。
 
10」にしてみました。
かなり太い。毛糸っぽいですね。
 
今度は「80」にしてみました。
かなり繊維が細くなった感じです。
 
リアルな太さはこれくらいだと思いますが、あまり糸を細くするとVR上で見づらいですので「50」くらいにしておきました。
 

(3) パンツの柄や材質を変えてみる

その他の設定をやっていきます。
 

テクスチャ画像を変更する

青の縞パンです。
 
テクスチャ画像を設定しても、布の質感は残ってるので良かったですよ。
 
他のテクスチャ画像も試しておきましょう。
 
[ピンクのギンガム柄]
 
[ピンクの縞パン]
 
[水色のドット柄]
 
[ピンクのハート柄]
 
[水色のバイアスチェック柄]
 
[水色のレース柄]
 
どれも大丈夫そうですね。
 

別のマテリアル Silk を試す

サンプルには、他の質感のマテリアルも準備されてました。
 
その中で「Silk(絹)」を試してみます。
やけに黄色ですね。
 
Base ColorSpecular Color を白くして、Smoothness の値を変更してみました。
 
綿よりは、しっかり?した感じになりました。
 
拡大してみると、絹の糸が見えました。
これはこれで良いですね。
 

別のマテリアル Nylon を試す

次は「Nylon(ナイロン)」です。
パンツというか、水着っぽい。
 
ナイロンですし。
 
マテリアル表面はこんな感じでした。
 
とりあえず、パンツのリボン部分に使ってみました。
 

「綿毛」機能もあった

シェーダーの設定を確認していると、「Fuzz」というパラメータがありました。「綿毛、けば」という意味ですね。
 
この値を調整してみると、パンツの表面に良い感じの繊維感が出ました。
更に布っぽくなりましたよ。素晴らしい!
 


(4) 設定が完了です

これで一通りの設定が完了しました。
 
Fuzz機能のおかげで質感アップしてます。
 

まとめ 

HDRPのサンプルマテリアルを使って、布の質感が綿っぽいパンツを作ってみました。
 
見た目が良くなったので、かなり満足です!
こんなすごいシェーダーがUnity標準で入っているのは本当にありがたいですよ。
 
スポンサーリンク

コメント

  • トラックバックは利用できません。

  • コメント (0)

  1. この記事へのコメントはありません。

ブログの女の子を作る #67 ライトとMask Mapで建物アセットをリアルにする【Unity】

ブログの女の子を作る #69 スカート・服・靴・髪の毛にもサンプルマテリアルを設定する【Unity】


最近のコメント

だーしゅ
IT関係のお仕事してます。
3Dモデルの女の子は「ブログノ・スージー」。VRは楽しいですね。

[当ブログについて]