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

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

 
前回の記事では、PBRのテクスチャでTerrainの地面をリアルにしつつ、木のボリュームを復活してみました。
 
以前の記事でHDRPに切り替えたのですが、それ以降、建物の中が何かおかしい。全体的に暗く、立体感がまったくありません。HDRPならもっとキレイに表示されても良いはずなんですが。。。
 
今回は、Terrainの地面でも使った Mask Map を作って設定してみました。



開発環境

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

(1) 建物内を明るくする

まずは、建物の状態を確認していきます。
 
ちなみにですが、いま使っている建物はこのアセットです。
 
説明欄には、「– High resolution PBR textures optimized for Unity Standard Metallic Shader.」と書いてあるので、PBRテクスチャが使われているのは間違いないようですね。
 

修正前の建物を確認する

修正前の建物です。
外から見ても暗い。
 
玄関から見てみると、入り口の上にポイントライトが一つだけ点いてました。
 
奥の方はまったく点いてませんね。
 
寝室も暗いですね。光が無いためか、立体感がありません。
 
バスルームはトイレの近くが少しだけ明るくなってます。
窓から入る光でしょうか。
 
洗面所も同じでした。
 
まずは、ライトを点ける必要がありそうです。
 

Generate Lightingするが点くのは1つだけ?

とりあえず、Lightingタブで「Generate Lighting」ボタンを押して、ライトマップをベイクしてみます。
すると、点灯したライトが1個増え、2個になりました。
 
ですが、この建物にはポイントライトが10個あります。まだまだ足りません。
Generate Lighting」を何回か実行してみましたが、これ以上ライトが点くことはありませんでした。
 

オンオフするとライトが点いた

ライトが点かない理由は分かりませんが、とりあえずライトをオフ→オンしてみます。
 
この状態で「Generate Lighting」を実行すると、すべてのライトが点きました!
気にはなりますが、まずはOKとしましょう。
 

建物内が明るくなった

ライトが点くだけで、一気に見た目が変わりました。
 
 
寝室も良い影がベイクされてます。
 
バスルームも明るいですね。
 
 

(2) Mask Mapを設定する

やっとライトが点いて部屋が明るくなりました。
次は「テクスチャ設定」ですね。
 
以前、HDRPに切り替えた時にシェーダーが「HDRP/Lit」に変わりました。その際に、シェーダーの設定も変わったので、Mask Mapに該当するテクスチャが外れてしまったようです。これを設定していきましょう。
 

マテリアルで使われているテクスチャを探す

まずは「ラグとカーテンのマテリアル(Rug_Curtains_MAT)」を設定してみます。
調べてみると、このマテリアルは4つのテクスチャ画像を使っていたようです。
 
Mask Map の RGBA には「Metallic、AO、Height、Smoothness」をそれぞれ設定しますので、こんな感じで設定することにしました。
・Rug_Curtains_MAT_AlbedoTransparency
・Rug_Curtains_MAT_AmbientOcclusion →Greenに設定
・Rug_Curtains_MAT_MetallicSmoothness →RedAlphaに設定
・Rug_Curtains_MAT_Normal
 
このオブジェクトでは、Height(Blueに該当するテクスチャ画像は無さそうですね。
 

Mask Mapを作る

前回の記事と同じく、Channel Packer で Mask Map を作ります。
 
Mask Mapを設定してみました。
微妙に色合いが変わった?程度でしょうか。。。
 
と思っていたら、寝室のカーテンに変化がありました。
 

カーテンの影がAOで出た

Mask Map設定前です。
 
設定してみると、AOの影が良い感じに出ていました。
Mask Mapの効果が確認できてうれしい。
 

バスルームもやってみる

バスルームにも設定してみました。
 
すると、シャワールームとトイレの間の壁が微妙な色に。。。
 
とりあえず、Surface Type を Transparent に変更してみます。
これで合っているか分かりませんが、この設定でいきましょう。
 

真っ黒な洗面台はGreen画像で直す

Mask Map設定前の洗面台です。
 
設定すると、なぜか真っ黒に。
 
いろいろ調べてみると、Channel Packer でMask Map を作成する際、「設定する画像ファイルが無い場合は、単色の画像ファイルを設定すると良い」ことが分かりました。
 
ここでは、緑一色の画像ファイルを設定してますよ。
 
Mask Mapを作り直して設定すると、黒いのが改善されました!
 
ちなみにですが、緑一色でなく「黒色のファイル」を設定されてる方もおられるようです。もしかしたら、他の画像ファイルに影響を与えないような色ならOKなのかも知れませんね。
 

大理石っぽい反射がキレイ

別の角度から確認してみます。
 
Mask Mapを設定してみると、洗面台の大理石?のような反射が出てきました。
反射具合は「Surface Inputs -> Smoothness Remapping」の値で調整できますよ。
 


(3) 他の場所にもMask Mapを設定する

設定の仕方は分かりましたので、他の個所もやっていきます。
 

寝室

設定前です。
 
ベッド下部の影が出て、質感が良くなりました。
 
設定前を拡大してみました。
 
AO影が良い感じです
 

サイドテーブル

設定前です。
 
卓上ランプがテーブルに当たる影などが濃くなってます。
テーブル後ろが暗くなったので、奥行きも出てますよ。
 

椅子

設定前です。
 
立体感がかなり出てますね。
本当に影は大事なんですね。
 

テレビ台

設定前です。
 
テレビ台の中が暗くなり、奥行きが出ました。
 
拡大してみると、テレビ台の扉表面もリアルになってるのが分かります。
 

暖炉

マテリアルを確認していると「Fireplace_KitchenBench_MAT」というファイルを見つけました。そういえば、この建物アセットを最初に設定した時、邪魔だったので暖炉は非表示にしていたのでした。
 
オブジェクトは残ってましたので、再表示してみます。
 
Mask Mapを設定してみますが、ほとんど見た目は変わらず。
気になりますが、次の設定に進みます。
 

家の外壁

設定前です。
 
AOの影が出ましたね。
 

洗面所の床

設定前です。
 
窓に近い床部分が反射するようになりました。
ちゃんと窓からの光が計算されているようです。
 

屋根のひさし

設定前です。
 
ひさし部分が白かったのが、良い感じに暗くなりました。
 

再度「Generate Lighting」してみる

この状態で、再度「Generate Lighting」を実行してみましょう。
 
暖炉に変化が。
 
ライトがベイクされたので、かなりの立体感です。
暖炉はこのまま使うことにしました。
 

(4) 設定前後の部屋を確認する

ライトとMask Mapの設定がすべて完了しました!
 
設定前後でどう変わったかを確認してみます。それぞれ1枚目が設定前、2枚目が設定後ですよ。
 

入口付近

入口付近です。
少し角度は違いますが、部屋の暖かい感じが出てる気がします。
 

真ん中あたり

建物の真ん中あたりです。
色合いや立体感がまったく違います。
 

寝室

寝室です。
布団や椅子の布感もあります。
 

バスルーム

最後は、バスルームです。
清潔感あります。良い感じですね。
 

まとめ 

PBRのテクスチャとMask Mapで建物をリアルにしてみました。
 
設定には時間がかかりましたが、やっと建物もHDRPでキレイになりました。
また、他の建物アセットでも試してみたいですね。
 
スポンサーリンク

コメント

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

  • コメント (0)

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

ブログの女の子を作る #66 4KのPBRテクスチャでTerrainの地面をリアルにする(+木のボリュームアップ)【Unity】

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

最近のコメント

だーしゅ
IT関係のお仕事してます。
VRは楽しいですね。

[当ブログについて]