マテリアルとマテリアルインスタンスについて
マテリアルなどを説明してこなかったので、
今回はマテリアルとマテリアルインスタンスを説明していこうと思います。
マテリアルの作成について
まずはマテリアルファイルを追加します。
コンテンツエディタを右クリックしてマテリアルを選択します。
マテリアルファイルを追加したらマテリアルファイルを開くと
マテリアル用のノードを反映するメインのマテリアルノードがあります。
メインマテリアルの入力で設定できる説明については、
マテリアル入力の説明はリファレンスで見るのが分かりやすいです。
個人的によく使い覚えておきたいマテリアルノードを少し紹介していきます。
Constant(定数)
これはどのようなマテリアルを作るときも使うことになると思うので、覚えておきましょう。
左上が1つの定数を指定するもので右上が2つ(色で言うと赤と緑)の扱いです。
左下が3つ(RGB)です。右下が4つ(RGBA)となります。
1つの定数の場合はメインマテリアルに直接接続して値を指定しておいたり、
この後説明する演算などで使われたりします。
2つの場合は2つの定数を指定するマテリアルノード(TexCoord)などで活用しています。
3つの定数や4つの定数は固定した色を指定するときに使ったりします。
このノードを検索して追加するときは、「C」を入力すると一番最初に指定されます。
テクスチャとマスク
マテリアルを作成する上でテクスチャを使って凹凸を表現したり、
マスクを使ってRGだけにしたりとかする事があります。
そういった場面で使われるのが下記のTextureSampleとMaskです。
※Maskの正式名称はComponentMaskです。
TextureSampleの出力値はテクスチャ内の色(RGB・1色ごと・RGBA)になっています。
MaskはRGBAの最大4つの値を持てます。値のValue数をあわせたりするときに使えたり活用するところは多くあります。
追加する場合は、TextureSampleでは「Text」まで打つと検索に引っかかります。ComponentMaskは「Mask」と打ちましょう。
四則演算(Add・Subtract・Multiply)
マテリアルにも四則演算がありこちらも良く使います。
色の計算で見るとAddは単純にRの加算しています。
白(R:1,G:1,B:1)の箇所はAddしても色の変化はありません。
Multiplyでは白い箇所を赤くしています。
色のある箇所(白の箇所)を赤色にしています。
Subtractでは全体に赤を減算しています。
白い箇所は赤色がなくなっているため青緑になっています。
追加する場合は、Addでは「ad」まで打つと検索に引っかかります。Multiplyは「Mu」まで打つと検索に引っかかります。Subtractは「su」まで入力すると表示されます。
lerp(LinearInterpolate)
lerpは線形補完と呼ばれるを行うノードになります。
入力先はAlpha(下の画像では画像をアルファに設定しています)があり、
AとBではそれぞれ指定した画像の赤の色が使われている箇所にAの値が使われて、
赤色が使われていない箇所にはBが適応されていきます。
追加する場合は、lerpは「l」で検索に引っかかります。
他にもブレンドなどもっと説明する必要がありますが、
もっと細かい説明を他のタイミングで説明していこうと思います。
簡単なマテリアルを作る
今回は簡単なマテリアルを紹介していきます。
下の画像は簡単な金属っぽいマテリアルになります。
ベースカラーに色を加算してピンク色を作り、
メタリックを1にして光沢を出しつつ、ラフネスを下げて反射する形にしています。
完成したマテリアルのサンプルがこんな感じになります。
マテリアルインスタンスにして管理する
マテリアルを作成した後でマテリアルはそのままで、
マテリアルに設定した値などを切り替えたりすることが多々あるので、
マテリアルインスタンスで指定した値を切り替えするようにします。
スイッチなどもあるのでぜひ使っていきましょう。
マテリアルファイルを右クリックしたときに、
一番上にマテリアルインスタンスを作成が出るのでそれを選択します。
マテリアルインスタンスのファイルを作成したら、
マテリアルインスタンス用に元のマテリアルファイルを改造します。
先程のメタリックのマテリアルにSwitchやConstantを、
パラメーターに変更したりします。
Constantで設定したパラメータはParamとして、
定数から変数に変更することができます。
変更方法は、右クリックでパラメータに変更を選択が可能です。
SwitchParamについては、StaticSwitchParameterが正式名称で
TrueとFalseでそれぞれ適応したいパラメータを指定します。
デフォルトはFalseの状態になります。
設定したマテリアルのパラメータやスイッチなどは
マテリアルインスタンスで変更できます。
※紹介しているのは一部です。
上記の画像のようにパラメータを変更するだけで、
下の画像のように全く別のマテリアルを作ることができます。
マテリアルインスタンスについては通常のマテリアルと同様に、
スタティックメッシュなどにマテリアルの代わりとして設定することができます。
下の絵はベースのマテリアルと設定を変更したマテリアルインスタンスを、
それぞれ適応した場合の画面になっています。
マテリアルインスタンスは一つのベースを使い、
パラメータやスイッチなどの設定次第で様々なことができるので、
ぜひ活用してみてください\(^o^)/
最後に
今回はマテリアルブレンドや下の動画のマテリアルレイヤーなどの、
説明は行っていないので、そちらの説明も今後していけたらと思います。
※いつやるんだろう(;^ω^)・・・
いろいろな動画でマテリアルの説明は行われているので、
ぜひレベルアップしていきましょう(・∀・)