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

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

 
前回の記事では、Magica Clothで無重力のパンツと戯れてみました。物理エンジンの実験は面白いですね。
 
今回は、Terrainで作った地面が昔のままでしたので、4KのPBR対応テクスチャを使って見た目を改善してみます。ついでに木のボリュームも増やしますよ。



開発環境

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

(1) 4KのPBRテクスチャをインストールする

Terrainの現状を確認しつつ、新しいテクスチャをインストールしていきます。
 

修正前の状態を確認する

修正前の地面です。
砂地っぽい地面草っぽい地面の2種類を使っています。
 
ノーマルマップのテクスチャも設定してるので、やや立体感はありますが、見た目が単調ですね。
 
これを良い感じに改善していきます。
 

「Terrain Textures – 4K」アセットをインストールする

何か良いアセットは無いかと探して見ると、「Terrain Textures – 4K」という素晴らしいアセットを発見しました。
使わせていただきます!
 
説明サイトに「48 high quality original PBR materials.」と書いてありましたので、PBRにも対応しているようです。
 
アセットのサイズは7.5GB。
かなり大きいので、インポートには時間がかかります。ゆっくり待ちましょう。
 
ちなみに「PBR(物理ベースレンダリング)」ですが、複数の画像ファイルをうまく使うことで質感がかなりアップする仕組みらしい。ノーマルマップを初めて使った時は立体感に驚きましたが、それに加えて他のファイルも使うことで、更に質感がアップするとのこと。
 


(2) テクスチャを設定してみる

インストールが完了しました。
 
まずはどんな感じになるか試してみます。
 

アスファルトっぽくしてみる

修正前の地面です。
とりあえず、「aerial_asphalt_01」フォルダの画像ファイルを設定してみます。
 
Diffuse」と「Normal Map」に該当するファイルをD&Dすると、アスファルトのような質感になりました!
設定したのは、
・aerial_asphalt_01_diff_4k
・aerial_asphalt_01_nor_4k
の2つですよ。
 

Size を変更する

タイヤの跡がありますが、少し小さいですね。
 
そんな時は、「Tiling Settings -> Size」の値を変更します。
2 から 12 に大きくしてみると、良さげなサイズになりました。
 
アスファルトのひび割れがリアルですね。
Sizeは画像ファイルごとに調整するのが良さそうです。
 

Mask Map が設定できる?

Terrain の Inspector を見ていると、3つ目の画像ファイルとして「Mask Map」という設定欄がありました。ネットで調べてみると、画像ファイルの基本値「RGBA(Red、Green、Blue、Alpha)」に4種類の情報を詰め込む、というフォーマットでした。発想がすごいですね。
 
説明を見てみると、
・R:Metallic
・G:AO
・B:Height
・A:Smoothness(Diffuse Alpha becomes Density)
とありました。
 
AO」は Ambient occlusion ですので、今回のテクスチャ画像では「aerial_asphalt_01_ao_4k」が使えそうです。
 

Channel Packer で Mask Map を作る

ここで、AOのファイルからMask Mapファイルを作る必要があります。
 
イラストツールなどで作る方法もあるようですが、Unity上で使うツール「Channel Packer」があったのでそれを使わせていただくことにしました。
 
インストール後、「Windows -> Channel Packer」を実行します。
 
+」をクリックして入力欄を増やし、AOを設定するので「Green」にチェックを入れて、画像ファイルをD&Dします。
本来は4種類設定が必要そうですが、まずは1種類だけで設定してみました。
 
作成したファイルは UnityのProject にD&Dしておき、Unity上で使えるようにしておきます。
 

Mask Mapを設定する

早速設定してみましょう。
 
Mask Mapを設定してみるとこんな感じになりました。
微妙に色が変わった?
 
良く分かりませんので、角度を変えて確認してみます。
 
まだ分かりにくいですが、影の表現が増したように思います。
 
画像ファイルによって、効果にはばらつきがあるのかも知れませんね。
とはいえ、なかなかリアルなアスファルト感です。
 

(3) 地面と草のテクスチャを設定する

PBRのテクスチャ画像に効果があることが分かりましたので、本題の「土と草っぽいテクスチャ」を探して設定していきます。
 

使えそうなテクスチャを探す

このアセットは48種類の4Kテクスチャがありますので、その中でいくつかを紹介させていただきます。
 
なお、以下の紹介画像では「Diffuseのみ設定。Normal MapとMask Mapは未設定」の状態になってます。設定すると、更に質感が増すと思いますよ。
 
[aerial_grass_rock]
少しコケっぽい地面。石が混ざってます。
 
[aerial_ground_rock]
小枝が落ちてる地面です。
 
[aerial_sand]
砂地です。タイヤの跡もありますね。
 
[aerial_wood_snips]
木のチップをまいたような地面。森にありそうです。
 
[blue_floor_tiles_01]
レンガを敷き詰めた地面もありました。道路に使えそう。
 
[brown_mud_02]
泥っぽい地面です。
 
[brown_mud_leaves_01]
湿った地面ですが、草が生い茂ってます。
 
[dirt_aerial_03]
少し固めの土の地面。これは良さそうですね。
 
[dry_ground_01]
乾燥してひび割れた地面。
 
[forrest_ground_01]
小枝が落ちた緑っぽい地面。これも使えそう。
 
[red_mud_stones]
赤土です。
 
[rocks_ground_01]
石がゴロゴロしてます。サイズを変更すると、河原に使えそう。
 
[snow_02]
雪のテクスチャもありました。
 

土っぽいテクスチャを設定する

土部分には「dirt_aerial_03」を設定することにしました。
Mask Mapを設定し、Sizeは 8 に変更してます。
 
かなりリアルな地面になりましたね。
 
別の角度から見てみると、小石や小枝が良い感じになってました。
 

緑っぽいテクスチャも設定する

もう一つのテクスチャは「forrest_ground_01」です。
 
Terrainでは、テクスチャは混ざった状態で表示されます。
これのおかげで、土と草の表現が更に自然になったように思えますよ。
 


(4) Terrainの木を設定変更する

Terrainの地面は改善できました。
ついでに「Terrainの木」も改善しておきましょう。
 
というのも、シェーダーをHDRPに切り替えた時、Terrainの設定が良くなかったようで、木のボリューム感がほぼゼロになってしまっていました。
 

木の影を表示する

まず、影の設定を確認してみると、「LOD 0(一番近い距離)の影」がオフになってました。
いつの間に。。。
 
Cast Shadows」にチェックを入れて、「Apply」ボタンをクリックします。
 
影が出ました!
これだけでも印象が違いますね。
 

葉のボリュームを増やす

次は葉っぱのボリュームアップです。いろいろ試したところ、以下の設定が良さそうでした。
 
まずは変更前の状態です。
葉が少ないのでスカスカです。
 
Surface Type -> Transparent」を「Opaque」に変更すると、少しボリュームが増えました。
どうやら、この設定で透明にするのではなく、「Alpha Clipping」にチェックが入っていれば良かったようです。
 
更に「Double-sides」にチェックを入れると、両面描画になって、葉っぱの裏面も表示されるようになりました。
 
更に「Threshold」の値を小さくすると、ボリューム感がまた増えました。
 
立派な木になりました。
これでなんとか、HDRPに切り替える前のボリューム感に戻りましたよ。
 

修正前後を比べてみる

一通りの修正が完了しましたので、修正前後の画像を比べてみましょう。
 
修正前の画像です。
 
地面と木を改善すると、こんな感じになりました!
リアルになった気がしますよ。
 
今回は残念ながら、ビルボードの木が表示されないのは改善できませんでした。
遠くから見ると寂しいままです。。。
 

まとめ 

Terrainの地面を「4KのPBRテクスチャ」でリアルにして、木のボリューム感も改善してみました。
 
Terrain Textures – 4K」アセットは無料とは思えないクオリティでしたね。PBRテクスチャを使うと効果があることが分かりましたので、また有料のアセットも試してみたいです。
 
スポンサーリンク

コメント

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

  • コメント (0)

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

ブログの女の子を作る #65 Magica Clothで無重力のパンツと戯れる【Unity】

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

最近のコメント

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

[当ブログについて]