読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

水のマテリアル研究⑥ ノーマルマップで生成される波

マテリアル UE4.13

f:id:una_unagi:20161211224410p:plain

「いよいよ一番むずかしそうな、ノーマルマップの部分に入っていく。ノードのほとんどがこのノーマルマップに関わってる」

妹「ノーマルマップなってなんだっけ? なんか聞いたことあるような気はするんだけど」

「ポリゴンの形を変えずに、光が反射する方向を決めるためのテクスチャ画像。Googleをノーマルマップで検索すると出てくる、この青っぽい画像がノーマルマップ」

f:id:una_unagi:20161211225305p:plain

妹「青いのはなんか理由あるの?」

「あるよ。テクスチャの赤・緑・青が、それぞれX、Y、Zに対応してるから、青はZ方向になる。法線が面の真正面を向いた状態だと青が強くなる。逆に青が弱いと裏側を向いちゃうから普通はやらない。赤と緑は向き次第で変わるけど、青多めなのは変わらないから、全体の印象としては青っぽくなる」

imoue.hatenablog.com

「色も座標も数字にして扱ってるというのは、先日のワールド座標をベースカラーにつなぐ実験の時と同じ」

f:id:una_unagi:20161211230344p:plainベースカラーに繋いでノーマルは空
f:id:una_unagi:20161211231334p:plainベースカラーとノーマルに同じのを繋いだ

「ノーマルマップは光の反射の仕方が変わるだけだから、どうなってるのか見た目でわかりにくい部分が多い。色々ノードを繋ぎ変えた時にわかりやすいように、ノーマルマップのノードをノーマルの出力じゃなくベースカラーにつなぐとこうなる」

妹「青っぽい波模様で、青いのは海だからじゃなくてノーマルマップだからと」

「そうそう。それで基本はMotion_4WayChaos_Normalでゆらしてる。Motion_4WayChaosのノーマルマップ版で、対応テクスチャが違うだけで動作は同じ。細かい設定はマテリアルインスタンスで色々調整できるように仕込んであるけど、自分で波を作るだけならもっとシンプルにできそうな感じ」

妹「結局いろんな形の波をぐちゃぐちゃに混ぜて、いい感じの波になるまで頑張ろう! って感じなのかな?」

「多分そうだと思う。あとは好みの問題だから、マテリアルインスタンスで好きに調整すればいいと。影響が複雑すぎて、実際にパラメータ変えてみないとわからない部分が多い」