【CG】道路の写真1枚だけで結構リアルな道路PBRマテリアルを作ろう【UE4】
建築ビジュアライゼーションでは殆どが屋内に時間を費やすため屋外、ましてや道路(アスファルト)なんて登場しないことがほとんどかと思いますが、あえてちょっといい感じに作ってみましょう。
撮影
できるだけお手軽に行きたいので、自宅の目の前の道路を撮影しました。道路はほぼほぼグレーだと知っているとしてカラーチャートは使いません。
撮影条件
・日陰で撮影。
・カラーバランスも「日陰」で撮影。
撮影した写真は2:1ですが、1:1にクロップして、1024x1024pxに縮小して保存しました。
テクスチャ起こし
・アルベドマップ
彩度を50%に落としました。
・ノーマルマップ
アルベドを開いて、彩度を0%にします。
Photoshopのプラグイン「NVIDIA Normal Map Filter」を使います。だいたいいつも下図の設定でやっていますので、このまま。
・ラフネスマップ
ぶっちゃけこれはけっこう曖昧です。
※私は個人的にやっている方法ですが、「それをやるんだったら、本当はこうするんだよ!」というのをご存知な方、教えてください。:)
・ノーマルマップを用意して、もう1回「NVIDIA Normal Map Filter」を呼びます。今度は[Alpha Field]をHeightに選択肢を変えてやると、青いハイトマップみたいなのが出てきます。
・レイヤーを1つ作ります。一番下に移動して、真っ黒にします。
・トーンカーブのレイヤーを作成して、ハイトマップ風に対してクリッピングマスクを作成します。白黒がいい感じに浮き出るように調整します。
・色相・彩度のレイヤーを作成して、彩度を-100にします。
・ハイトマップ
Parallax用として作ります。
こいつはざっくり5段階くらいにトーンが作られればいいと思ったので、Photoshopメニュの[イメージ]→[色調補正]→[ポスタリゼーション]で階調数を5くらいにします。
本当に高さが合っているかと問われると、あまり正しくないです。しかし凹んでいる箇所が往々にして濃い色になっている箇所を探して撮っていますので、この処理でそこそこ合うはずです。
でもこれだけだと細かいところがゴツゴツしてしまうので適当に均します。[フィルタ]→[ぼかし]→[ぼかし(ガウス)]でぼかします。
私はこれで終わりますが、がっつり行きたいならば右上の白い石の部分が最も高い位置と判断されてしまうのでグレーに潰したりすれば良いと思います。
道路の白線
要るかは任意だと思いますが、道路の白線を作っておきます。256x256pxにしました。
わざと解像度を低くしたほうが引き伸ばしたときに輪郭がぼやけるので最終的にいい感じになると思います。
ひとまず作る画像は作り終えました。次はUE4にインポートして、ブループリントを作っていきます。
UE4でマテリアルのブループリント作成
これに関してはそんなに工夫するところはないかと思います。
ラフネスマップは、線形補正でバイアスをかけてスペキュラとラフネスにノードを接続します。スペキュラはあまりやりたくないですが凹んだ場所が特定のアングルでテカるのが嫌なので対処用に接続しています。
今回はParallaxOcclusionMappingのOUT側の[Shadow]とベースカラーをMultipleしていません。やったのですがすごく凸っぽく見えて変でした。
テクスチャリピートの繋ぎ目跡を消したければアルベドのクロップ箇所を変えた数枚を用意して、線形補間とかでブレンドさせればもっと良くなると思います。
完成
いかがでしょうか。それなりな道路になりました。
2 thoughts on “【CG】道路の写真1枚だけで結構リアルな道路PBRマテリアルを作ろう【UE4】”