本日はUnrealEngine枠です。
前回はUnrealEngineでランドスケープを作成しました。
今回はマテリアルを設定していきます。
〇環境
・UnrealEngine5.4
・Windows11PC
〇ランドスケープにマテリアルを設定する
前回作成したランドスケープを選択モードで選択するとまるで、マイクラなどにみられるチャンクのように細かいLandscapeStreamingProxyというオブジェクトで構成されています。

これを管理している親オブジェクトがLandScapeオブジェクトであり、一般的にランドスケープの設定やマテリアルへアクセスする際は実体であるProxyではなく、このLandScapeオブジェクトを操作します。

ランドスケープオブジェクトは通常のマテリアルではなくランドスケープマテリアルと呼ばれるマテリアルを使用しますが、これはランドスケープマテリアルという専用のマテリアル型が存在するわけではなく、通常のマテリアルをランドスケープ用途に使ったときの呼び名となります。

①コンテンツドロワー内の任意の階層にマテリアルを作成します。
ここではLandscape_MTと名付けています。

②作成したマテリアルをLandscapeオブジェクトのランドスケープマテリアルとして割り当てます。

これによって3Dビューポート上のランドスケープの見た目が変わります。

③作成したランドスケープマテリアルをダブルクリックして開きます。

④コンテンツドロワーから地面のテクスチャをドラッグアンドドロップします。
⑤TextureSampleのRGB出力をベースカラーに接続します。

これによってランドスケープに設定したテクスチャが割り当てられます。

しかし、現実世界を見てみると砂漠などの一部特殊環境を除いて単調の地面はありません。
具体的には水がある周りには草やコケが生えるでしょうし、冬場の山間部は積雪がみられます。
つまり単独のマテリアルではなく、複数のマテリアルをブレンドする必要があります。
また、ランドスケープは広大ですが、ただ単にテクスチャを張り付けただけではタイリング(タイルの重なり)が目立ちます。

これらの理由から複数のテクスチャをブレンドする必要があります。今回は最もユーザーによるアレンジが可能なペイントによるテクスチャのブレンドを行います。
〇ブレンド
ランドスケープのテクスチャをブレンドするためにはLandscapeLayerBlendノードを使用します。(マテリアルのウィンドウ上でマウス右クリックから検索をして使用できます。)

このノードはランドスケープ上で作成したレイヤーをブレンドすることができます。ここでレイヤーという単語が登場しました。
これはランドスケープという1つのオブジェクト内に複数のテクスチャというレイヤーを作成し、それらを任意の条件で合成をすることができます。Pthoshop等と一緒の考え方になります。
①LandscapeLayerBlendノードを選択している状態で詳細タブのレイヤーにあるエレメントの隣の+アイコンを選択してレイヤーを追加します。

②レイヤー名を付けます。

ここでつけた名前がLandscapeLayerBlendノードで表示されることを確認します。

③同様の手順で2つ目のレイヤーを追加します。

④2枚目のレイヤーに相当するテクスチャをドラッグアンドドロップで配置して画像のようにLandscapeLayerBlenderノードを挟んでベースカラーへ接続します。

⑤次にLandscapeCoordsノードをTextuerSampleのUVとして接続します。

これはランドスケープにおけるUVに相当します。
⑥マテリアルを保存してレベルへ戻ります。

この時点でランドスケープの見た目が真っ暗になりますがこれは、表示するレイヤーの設定が行われていないためであるため無視して大丈夫です。
⑦ランドスケープモードへ切り替えます。

⑧ペイントタブへ切り替えます。

今回はペイントによってレイヤーを区別して塗っていきます。そのためにはまずマテリアルの持つレイヤー情報に合わせてランドスケープのレイヤー情報を定義する必要があります。
⑨ランドスケープタブの最下部にターゲットレイヤーとして先ほどマテリアルで指定したレイヤーが存在することを確認します。

⑩レイヤーを選択して+アイコンを選択し非ウェイトペイントレイヤーとしてレイヤー情報を作成します。

⑪これをもう一方のレイヤーに対しても行います。

⑫塗りたいレイヤーを選択しランドスケープにペイントをすることでその部分にレイヤーのテクスチャを割り当てることができます。

減算ブレンドにチェックを入れてペイントすることで消しゴムモードも使用できます。
以上でランドスケープマテリアルの作成とレイヤーの作成、ペイントになります。
次回はレイヤーを使用した効率的なブレンドを紹介します。
本日は以上です。