ビデオの内容紹介
非常に簡単なマテリアルを作成します。ビデオは若干長いですが、マテリアルエディタの機能を紹介しながら、とても丁寧にノードの使い方と効果について説明しています。
原題 Introduction to Materials in UE4 – 2 – Creating a Basic Material
下準備
Zac 先生がおっしゃっていますが、エンジンのバージョンによってはスターターコンテンツが異なる場合もあるけれども、大丈夫とのことです。
それでも作業がしやすいように、新規プロジェクトを作成した後で、次のようにして新たなレベルを作っておきました。
エディタの File をクリック → New Level をクリック → Default を選択 → 名前を MaterialTest に
さらに、その MaterialTest を開き → コンテンツ ブラウザで Props フォルダをクリック → SM_MatPreviewMesh (Unreal のマークがついた置物) をクリック → それを MaterialTest のレベルに (ビューポートに) ドラッグアンドドロップ
☆スタティックメッシュをコピーする
動画では Unreal マークの置物をコピーしています (何のためにコピーしたのかは分かりませんでしたが、復習として取り上げます)。
やり方は、座標軸ウィジェットのどれかをマウスでつかみ、Alt キーを押しながらドラッグします。(視点も同時に動かすには Shift+Alt を押しながらドラッグします。)
方法マテリアルを適用させる方法
たとえば、マテリアルをフロアに適用させるには、コンテンツ ブラウザで Materials フォルダをクリックして、任意のマテリアルをビューポートのフロアにドラッグアンドドロップします。
もう一つやり方があります。マテリアルを適用するメッシュをビューポート内で選択状態にしておき、Details パネルの Materials のアイコンに、マテリアルをドラッグアンドドロップすると同じことができます。(なお、このUnreal マークの置物ように、マテリアルが複数のものもあります。その場合でも、2 通りの方法でマテリアルを適用することができます。)
もう一方のにもマテリアルを適用してみます。
☆新たなマテリアルを作成する
手順 マテリアルのためのフォルダを作る
まず新たに作るマテリアル用のフォルダを作成します。
コンテンツ ブラウザの New をクリック → Material を選択
この新たなフォルダをダブルクリックすると、マテリアルエディタが開かれます。
MyMaterial と表示されているタブをエディタ本体にドッキングすることができます。
手順 Base Color を設定する
まず Base Color (基盤となる色) を設定します。
前回学んだように、色はコンピュータ的には、3 つの数値を使って指定します。そこで、ここでも Constant3Vector (定数 3 次元ベクタ) というノードを使います。
Constant3Vector ノードを出すには 3 通りの方法があります。
① マテリアルエディタ内右端の Palette から探す。
② 右クリックメニューから探す。
③ 数字の 3 キーを押しながら、左クリックする。
上記の①、②では検索欄で constant をキーワードにして探すとすぐに見つかります。③そのまますぐ出てきます。このような手っ取り早い方法 (ショートカットを使う方法) は、① の Palette の各項目の横にさり気なく書かれているので参考にしてください。
次に、この Contant3Vector をダブルクリックして、Color Picker (色選択機能) を開きます。
ここで、中央にある小さな丸い点を (たとえば) 右下方向のオレンジ色にドラッグしていきます (動画では左側のスペクトルの矢印が最上部になるようにしています)。
さらに、右側のスペクトルの矢印を最上部にドラッグします。
さらに、Contant3Vector の出力ピンからワイヤをドラッグして、MyMaterial の Base Color の入力ピンに接続します。
これで、色が決まりました。
手順 Metallic を設定する
前回のチュートリアルでも説明がありましたが、これは金属的な表面にするためのものです。Metallic は端的に言えば、「プラスチックか金属か」を表現します。通常は、 0 (金属的ではない) か 1 (金属的である) のどちらかに設定します。
Constant (定数) ノードを出すために、マテリアルエディタ内で 数字の 1 キーを押しながら左クリック → Constant を選択状態にしたまま Details タブの Value を (たとえば) 1 にセット
手順 Roughness を設定する
先に Roughness (粗さ) の設定を行います。Roughness は端的に言えば「チョークかガラスか」を表現します。
先ほどの Constant (定数) ノードをコピーアンドペーストします (Windows の場合は Ctrl+C でコピー。Ctrl+V でペーストです)。値は、とりあえず 1.0 にしてみます。
ザラザラ感の高い、チョークのようなものが出来上がりました。
手順 Specular を設定する
Specular (反射) は、通常はそのままにしておくべきもので、アーティスト的な調整を行うためのノードだということです。(Roughness との違いがはっきりしないので後ほど実験してみます。)
Specular は Metallic なマテリアルでは扱えないので、Metallic の値をまず 0 にします。
Constant (定数) ノードをコピーアンドペーストして、とりあえず 0.5 にセットしておきます。
なお、Specular のデフォルト値は (= Specular の入力ピンに何も値を接続していなくても)、0.5 です。ですから、この時点では何も変化が生じません。
実験 Roughness と Specular の関係
Roughness と Specular の値をそれぞれ変えて、どのような違いが生じるか試してみました。
[A] Roughness = 0.1, Specular = 0.1
[B] Roughness = 0.1, Specular = 0.9
[C] Roughness = 0.9, Specular = 0.1
[D] Roughness = 0.9, Specular = 0.9
これらから分かることは、Roughness が高いと (C、D)、いくら Specular を上げても反射はしないということです。また、Roghness が低い場合 (A、B) は、Specular が高いほど反射の度合いが高くなります。ただし、次のように Specular が 0 になると、まったく反射しなくなります。
[E] Roughness = 0.1, Specular = 0
このことは、Roughness が 0 になっても同じです。
[F] Roughness = 0, Specular = 0
注意したいのは、Specular のワイヤを切断すると、
のように反射が生じますが、これは Specular =0 になったからではありません。
Specular のデフォルト値は 0.5 なので、切断すると Specular =0.5 になるからです。
以上から、Roughness がどんな値であっても、Specular が 0 ならば反射は起きず、Roughness が高い値であれば、Specular がどんな値になっても反射は起きないということが分かりました。また、Specular の値を上下しただけでは、材質のザラザラ感を出すことはできません (画像 A 参照)。
今回は以上です。お疲れ様でした!
コメント
マテリアルを階段オブジェクトに対して割り当てているのですが、面ではなく、オブジェクト全体に割り当てられるようにするには、どうしたらいいのでしょうか?
blenderなどでいう、editモードとobjectモードがあるのだと思うんですが、editモードのような状態だから面に対して割り当てられるのだと思います、
こんにちは。コメント、ありがとうございます。
次のような手順ではどうでしょうか?
階段を選択状態にして (どの面をクリックしても構いません)、Shift-B を押します → マテリアルを階段にドラッグアンドドロップする
回答ありがとうございます。そのようにして全選択するのですね。
shift+sでも同じ動作になりますね。
なるほどです。ありがとうございます!
もう本当に助かってます
このサイト最高です
「Contant」て書き間違えてますよ~
読んでくださって、ありがとうございます!(しかも、おほめの言葉などかけていただいて、感激でございます。)
そして、 おっちょこちょいのミスをご指摘いただいて、(こちらこそ) 助かります!(これからも、どうぞよろしくお願いします!)