アルゴンUE4/UE5開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE5】マテリアルレイヤーで武器の一部の色を変更する

一部武器の色を変更したくならないか(`・ω・´)

今回はレイヤーマテリアルを活用して、

テクスチャのRGB要素を元に色を変更するマテリアルを作ってみます。

下記動画をだいぶ参考にしました。

https://www.youtube.com/watch?v=HJA0Ti6_r7A&t=1648s&pp=ygUSbGF5ZXIgbWF0ZXJpYWwgdWU1

※UE5.7で試している形になります。
※書き間違え等あればコメントください!

各種モデルとテクスチャの準備

今回活用させていただいたモデルについてですが、

下記の無料配布アセットのモデルを活用しています。

※このモデル単体がとても大きいので同じようなことをしたい場合は、
 Scaleをめちゃくちゃ小さくすることをおすすめします。

コンテンツブラウザのfabの所からSKSで検索して、

そこからコンテンツブラウザで追加しています。

下記リンクの説明がとても分かりやすいのでこちらも参考にどうぞ。

📰Fabの使い方(ダウンロード方法,ライセンスなど)を解説! Megascansも取得しておこう [UE5入門 #3-21]

fabのSKSモデルの追加

それから今回はレイヤーマテリアル用にUVに合わせた画像を、

下記画像を私の方で作成しました。

ダウンロードして今回試していただければと思います。

RGBTexture

活用しているモデルと画像は以上です。

それでは実際にマテリアルを作成していきます。

・目次に戻る

レイヤー関連マテリアルの作成

それでは実際に作成していきます。

その前に上記のRGBのレイヤーテクスチャを、

コンテンツブラウザに配置しておきます。

RGBレイヤー用テクスチャの追加

まずblend用のマテリアルを作成します。

コンテンツブラウザ右クリックして、

マテリアル項目 → レイヤー → マテリアルレイヤーブレンドを選択します。

マテリアルブレンドを選択

マテリアルレイヤーブレンドを作成したら、

ダブルクリックしてレイヤーブレンドの編集画面を開きます。

今回は上記のRGBマスク用のテクスチャの色情報を、

「ChannelMaskParameter」でRGBを切り分けています。

ChannnelMaskParameterを設定

あとはBlendMateriaAttributesのalphaに接続して、

レイヤーブレンドのマテリアルの設定は完了になります。

レイヤーブレンドのマテリアルの設定

続いて一番下の改装になる想定のレイヤー用のマテリアルを作成します。

コンテンツブラウザ右クリックして、

マテリアル項目 → レイヤー → マテリアルレイヤーを選択します。

コンテンツブラウザからマテリアルレイヤーの追加

活用するテクスチャを追加していきます。

テクスチャはモデル側で用意されているBaseColorのテクスチャと、

メタリックやラフネスなどをまとめたテクスチャを活用します。

※ベーステクスチャは「TextrueObject」をパラメータ化して活用していて、
 まとまっている方は「TextureSampleParameter2d」にしています。

各種テクスチャの作成

あとは「MF_Default_Body」というエンジン側で用意されている、

関数に各種情報をつなげていきます。

BaseColorTexture → BaseColorTexture(T2d)に接続

BaseColorTextureに接続

まとまったテクスチャのR → OcclusionStrength(S)に接続
まとまったテクスチャのG → MetalicFactory(S)に接続
まとまったテクスチャのB → RpoughnessFactory(S)に接続

各種ノードに接続

あとは「MakeMaterialAttribute」を追加して各種ピンを接続して、

「InputMaterialAttributes」に接続して完了になります。

各種接続の設定

最後に作成するのは先ほどのレイヤーマテリアルブレンドと、

レイヤーマテリアルを活用するためのベースのマテリアルを作成します。

コンテンツブラウザ右クリックして、マテリアルを選択します。

マテリアルを選択して作成

マテリアルを開いたら「Use Material Attributes」をONにします。

これでマテリアル属性に変更します。

マテリアル属性に変更

変更したらマテリアルの情報を追加していきます。

行っていることは「Material Attribute Layers」から、

Normalの情報にノーマルテクスチャ情報を追加している形です。

ベースのマテリアル属性の処理追加これで必要なマテリアルのデータの作成は完了ですが、

ベースのレイヤーマテリアル以外レイヤーを作成します。

マテリアルレイヤーの追加は上記と同様になります。

マテリアルレイヤーの追加

今回は簡単な色変更のマテリアルを作ります。

MaterialAttributeを作成してベースカラー・メタリック・ラフネスの、

各種パラメータを追加していて色と質感を変更するマテリアルになります。

レイヤー内のマテリアルの処理

今回RGBで色を変更しているのが、

先端の木目・マガジン・ボディ部分の3箇所なので、

先ほど作成したもの含めもう2つコピーします。

各種変更用のレイヤーを作成

これで準備は完了なので次に実際にマテリアルの設定を行っていきます。

・目次に戻る

レイヤーマテリアルの設定と追加

上記で今まで作成したマテリアルレイヤーブレンドや、

マテリアルレイヤーなどを活用するためにマテリアルを右クリックして、

マテリアルインスタンスの作成をします。

ベースとなるマテリアル属性のマテリアルインスタンスを作成

選択して作成出来たらマテリアルインスタンスを開き、

マテリアルレイヤーの背景の▶を選択して開き、

レイヤーアセットにベースとなるマテリアルレイヤーを指定します。
※これがベースのレイヤーになりこのマテリアルの上に色が重なります。

ベースのマテリアルを指定

それが完了したら⊕ボタンを選択して、

レイヤーアセットとブレンドアセットを選択できる項目が追加されます。

ブレンドアセット → 変更する場所を示す場所の設定
レイヤーアセット → 変更する場所にどのような見た目を適応するかの設定

こんな感じで覚えておけば良いのかなと感じました。

追加直後の状態実際にパラメータを設定していきましょう!

レイヤーアセットに上記で作成したレイヤーマテリアルを指定します。

指定するとマテリアルすべて黒くなりますが正しいので大丈夫です。

続いてブレンドアセットも上記で作成したレイヤーブレンドを指定します。

あとはレイヤーアセットの「VECTOR PARAMETER VALUES」である、

BaseColor項目を変更することで、

ブレンドアセットのMaskTextureの赤色の部分の色が変化するかと思います。

武器の一部の箇所を変更する

これでマテリアルレイヤーを活用した武器の色分けマテリアルの完成です!

他のレイヤーを追加する方法も説明しておきます。

再度⊕ボタンを押してレイヤーアセット・ブレンドアセットの項目追加、

ブレンドアセット「VECTOR PARAMETER VALUES」項目をBlueに変更します。

そして再度レイヤーアセットのBaseColorを変更します。

レイヤーを追加して別の箇所の色を変更する。

以上でマテリアルレイヤーの説明は以上になります。

もう一個マテリアルレイヤーを追加して色などを変更した結果の、

マテリアルを設定した武器と通常の見た目が下記画像になります。
※上が変更後、下がデフォルトになります。

色を変更した結果

動画でのマテリアルレイヤーの設定も載せておきます。
分かりにくい部分などありましたら動画にてコメントください。

・目次に戻る

最後に

いかがでしたでしょうか?

今回マテリアルのブレンド方法からレイヤーマテリアルの、

作成までざっくり行ってみました。

今回もだいぶ長い記事でしたが何かの助けになれば幸いです。

・目次に戻る