UE4で作る。なんちゃってPBR

#【前提】
__・Unreal Engineのバージョンは4.6.1として説明します。__
__・うそを書くつもりはありませんが。経験に基づいて記述しているため、間違いが多分にある可能性があります。__
__・Windows版のUE4を使用しているため、説明文の特殊キーやマウスは、他の環境の場合は読み替えてください。__
__・基本色、メタリック、ラフネスだけを使用してPBRっぽくします。__
__・比較的簡単に作成できる金属っぽいマテリアルを作ることを目標とします。__

#【目的】
簡単にPBRっぽいマテリアルをサクッと作る。

#【マテリアルアセット作成】
まず、マテリアルを作成します。
コンテンツブラウザでマウスの右ボタンをクリックします。以下のメニューが表示されるので「マテリアル」を選択します。
![m1.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/dc1bb926-8606-7455-5856-f8d54397c6b2.jpeg)
マテリアルのアセットが、コンテンツブラウザ上に生成されるので、マテリアル名を変更します。
![m2.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/def3d67c-3702-0482-58e0-004594e40e42.jpeg)

__ちなみに赤枠のアスタリスクの様なしるしは、アセットがメモリ上で更新されていることを表すようです。
更新内容がHDDなどに実際に保存すると消えます。__
![m3.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/71b38eaf-1858-e162-e814-31e040f7aeda.jpeg)

マテリアルのアセットの名前を変更できるので変更しておきます。
ここでは__m_test__とします。
次に、マテリアルエディタを開いて、PBRのマテリアルを作成します。

#【マテリアルエディタ 基本色】
コンテンツブラウザでマテリアルアセットを選択し、マウスの左ボタンをダブルクリックすると、以下のマテリアルエディタが開きます。
![m4.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/b943ac4d-e0b4-cf3a-6a90-9a07f315357d.jpeg)

繰り返しになりますが。以下の３つの値(__基本色__、__メタリック__、__ラフネス__)を設定していきます。
![kore.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/06937d53-4e5d-7e3c-c111-54a5e2fb8d4a.jpeg)


以下の空間に、マウスのポインタを持っていき、右クリックします。
![m5.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/0719b248-b441-ded0-87bd-ef75d6f8e379.jpeg)
以下の選択メニューが開きます。
![m6.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/7dadfab6-ae36-4101-3a40-7f5562c93b68.jpeg)

スクロールバーを使用し、下にある「定数」の、「constant3Vector」を選択します。
![m8.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/267c5983-9754-5790-047b-2a7b68f9d986.jpeg)

カラー（constant3Vector）を指定するノードが出るので、色を指定します。
![m9.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/2db4666b-b6a8-92cb-00bf-f5e891a14082.jpeg)

カラー（constant3Vector）ノードをダブルクリックすると「カラーピッカー」が開くので、カラー（色）を指定します。
![m10.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/76c3ad05-dfe9-ca6e-3de7-5f5c1568d61f.jpeg)
金(Gold)っぽくしたいので、黄色っぽい色を指定します。
![m11.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/8284b40d-675f-346e-05ca-f01e8ac729c4.jpeg)

赤枠部分の丸を右クリックしノードを接続します。(m_testの__基本色__につなぐ)
![m12.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/de6abe01-6d99-5b00-43d0-01a3f24c67fb.jpeg)

__基本色(Basic Color)__に接続します。
![m13.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/158c0707-24da-65fa-5e66-fce8780b4696.jpeg)

ここで、マテリアルエディタのプレビュー画面の色が変わります。
![m14.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/1fb4627b-6038-5cec-44c1-e2a78674564a.jpeg)

#【マテリアルエディタ　メタリック】
次に、__メタリック__の値を設定します。
矢印の場所にマウスポインタを持って行って、右クリックしてメニューを開きます。
![m15.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/f929985c-edba-e77a-9dc7-d4753205b19c.jpeg)
「定数」の、「constant」を選択します。
![m7.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/92a25d5f-4409-5d9a-f762-b1e1b7c8d1d6.jpeg)
「constant」のノードが出現します。
![m16.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/0c4a8905-ff52-fd54-c45e-790ed04949cc.jpeg)

赤枠に数値を設定します。
![m17.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/46a9b08a-22d2-e17f-fff7-81b84490b3b8.jpeg)

金属っぽくするため、大目に値を設定します。ここでは__0.9__とします。
値は、普通0.0から1.0の間で設定します。（ここはかなり怪しい）
![m19.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/08c50516-3af7-af92-da67-884837b30a0f.jpeg)
値を設定したら、__メタリック__にノードを接続します。
![m18.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/672d7631-bf4d-07dd-27e0-77f09c6ff3ce.jpeg)
接続すると、プレビューの画面に反映されます。
![m20.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/773a7cd0-c5b6-236e-4351-0883ceb3f6b6.jpeg)
これだけでも、金属っぽく見えますが。次の__ラフネス__を設定し、もう少し、金属っぽい質感にします。

#【マテリアルエディタ　ラフネス】
ラフネスに値を設定するため。
先ほどと同じように、矢印部分でマウスを右クリックし、「定数」の、「constant」を選択します。
![m21.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/a1d4ee78-f9ef-e31c-1075-064d9c01e599.jpeg)
金属の場合は、ラフネス値は小さめに設定します。（これも経験上）
![m22.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/4e58aedc-c361-20eb-4b72-640f8e4e9176.jpeg)
今回は、値に__0.1__を設定してみます。
![m23.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/27a95017-6734-0aaa-c910-935f10d40ae2.jpeg)

__ラフネス__に接続すると以下のように、光の反射の激しいより金属っぽい質感になります。
![m1.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/73c92fba-1b76-7b85-645d-9e82a85e612f.jpeg)

今まで設定した、「メタリック」と「ラフネス」の値を全く逆にすると以下のようになります。
メタリックを__0.1__、ラフネスを__0.9__
![m2.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/aae456d2-dde8-b174-1bd1-8b2b8811f31e.jpeg)

私の経験上
金属っぽくする場合は「メタリック」の値を大目に、「ラフネス」を小さめに。
「ラフネス」の値は、ざらつきというか、光の反射を、ばらつかせる感じにする場合に大きくします。
皮とか、麻とか、布っぽい質感にするときに大きくするといい感じになります。

#【テクスチャの使用】
テクスチャを使用する場合は、最初の基本色(Basic color)に接続したノードの部分がテクスチャに変わる感じです。
コンテンツブラウザから、テクスチャ画像を、マテリアルエディタにドラッグ＆ドロップします。
![M26.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/22a863d3-fda8-ecb9-3b9e-4c68e602bcf2.jpeg)

テクチャ画像を基本色に接続します。
![m27.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/92e8ab7f-480b-a1e1-5c80-ad7314120857.jpeg)
あとは、上記と、まったく同じ要領で金属っぽくします。
![m28.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/d15a4952-28e7-88b6-d123-11db8e7c034c.jpeg)

#【マテリアルエディタ　応用】
メタリックとラフネスをの値を逆にすると、以下のようになります。
![m29.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/198efa71-61a2-c762-e090-705d53e1e262.jpeg)

また、メタリックとラフネスを両方__0.1__にすると
ビルによくある床のような質感になりました。
![m30.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/c1ce63dc-0e26-8b73-a30c-10ee6f7b1eb4.jpeg)

今回の記事は以上です。

#【余談】
ここでは説明しませんが。素材として、法線マップ(Normal Map)等があるとさらに質感は増します。
「ラフネス」や「メタリック」も1次元な定数ではなく、画像を使用すると、質感に表情をつけることができます。

UE4のマテリアルエディタは、簡単に値を設定していろいろやるだけで、即時に結果がプレビューされて楽しいので
いろいろやってみてください。

------
ちなみにですが。マテリアルエディタのプレビュー画面に、自分のメッシュを表示することもできます。
コンテンツブラウザで、表示したいメッシュを選択して、赤矢印の「メッシュ選択」をクリックします。
![m40.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/cbe28a6b-a2dd-be51-3424-8bb7fb9fe871.jpeg)
以下のように、マテリアルエディタのプレビュー画面に__メッシュ__が表示されました。
![m41.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/c44523a0-379c-f7a4-bd1e-2ba580e7e82b.jpeg)
見づらい場合は、枠を大きくして大きめに表示します。
![m42.jpg](https://qiita-image-store.s3.amazonaws.com/0/59114/d3be04aa-c06d-4c21-7866-e5a6b0be7968.jpeg)

以上、ヒストリアさんの勉強会で学んだワンポイントでした。
#【まとめ】
今回は、なんちゃってPBRなので__基本色__、__メタリック__、__ラフネス__のみを使用しました。
__基本色__の値は、定数の数値（色）でも、テクスチャでも行ける。
__メタリック__の値は、金属っぽくする場合は大き目に設定する。設定できる値は0.0から1.0
__ラフネス__の値は、光の反射をばらつかせる？感じにするときに大き目に設定する。設定できる値は0.0から1.0

__メタリック__や__ラフネス__に画像を使用すると、質感に表情をつけることができる。

法線マップなど、他のマップも使用するとさらに質感をそれっぽく作れる。
私の場合は、allegorithmicさんのbitmap2material3などの一枚のテクスチャから簡単に、あらゆるマップを作れるツールを使うことが多いです。
この辺りは、他の方がブログで詳細に説明されているので参照ください。

↓kurosawaさんの、ここなんかお勧め。
http://www.the-saurus.net/blog/item/688

最後まで読んでいただきありがとうございます。