夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

UnrealEngineでワールドの地面のマテリアルを設定する その1

本日はUnrealEngine枠です。

UnrealEngineで地面のマテリアルを設定していきます。

〇環境

・UnrealEngine 5.3

・Windows11PC

〇地面のマテリアル

新規でレベルを作成すると以下のようなデフォルトの地形が生成されます。

遠方から見ると最初からいい感じの砂のマテリアルが設定されているようで、実はチェッカーボックスのデフォルトのマテリアルが設定されています。

アウトライナーウィンドウからランドスケープのモデルを選択します。

②詳細タブからランドスケープマテリアルを有効化し、Sandstoneなどのキーワードでマテリアルを変更します。

これによって地面を構成するランドスケープにマテリアルが設定されます。

上図のようにフォリッジを使用して草木をはやすことで目立たなくなりますが。ただマテリアルを設定しただけでは単調かつパターンが見えてしまいます。

UnrealEngineではランドスケープモードと呼ばれるモードがあり、ここではマテリアルのペイントが行えます。

これを行うためにはマテリアルにレイヤーを設定する必要があります。

〇マテリアルにペイント用のレイヤーを作成する

①新規でマテリアルを作成します。ここではlandと名前を付けました。

②sandマテリアルで使用していたテクスチャを導入します。

③LandscapeLayerBlendを検索しノードを追加します。

④追加したLandscapeLayerBlendノードを選択している状態でMaterial Expression Landscape Layer Blendレイヤー+アイコンを選択しレイヤーを増やします。

⑤インデックス[0]を展開し、LayerNamePreview weightの値を編集します。

⑥再度④のレイヤーの+アイコンを押してIndex[1]を作成します。

この状態ではLandscapeLayerBlendノードの入力が2つになります。

このノードは2つのランドスケープ用のテクスチャをミックスさせる役割があります。

⑦Landscape Coodsノードを追加しTexture SampleのUVsに接続します。

これはテクスチャ座標系になります。デフォルトではモデルのUV座標に基づいていましたが、ランドスケープ専用の座標系に切り替えます。

⑧作成したマテリアルをランドスケープマテリアルとして再設定します。

この状態では真っ黒になります。

これはランドスケープのレイヤー情報が存在しないためです。

ランドスケープモードのペイントタブからターゲットレイヤーのレイヤーに設定されているSand,Grassからそれぞれ+アイコンを選択しウェイトブレンドレイヤー(法線)を選択します。

保存を行います。

⑩塗りたいレイヤーを選択し、ペイントを行うことで草をはやすことができます。

本日は以上です。

今回はUnrealEngineでワールドの地面のマテリアルを設定しました。

今回の内容までではノーマルマップ等を設定していないことやタイリング等も設定していないため、パターンが顕在化してしまっています。

次回以降もっと複雑な設定を見ていきます。