「流れる方向」の情報をテクスチャに持たせて、マテリアルで水の流れを表現。ロジカルビートが解説記事をブログで公開

2024.10.18
ニュースゲームづくりの知識アンリアルエンジン
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • ロジカルビートが「【UE5】マテリアルで”流れ”を実装してみよう【FlowMap】」と題した記事を公開
  • Unreal Engine 5.4.4を用いて、水の流れを表現する方法を紹介
  • 「流れる方向」の情報を持つテクスチャを用いてUVを動かす「フローマップ」での表現方法などを解説している

ロジカルビートは2024年10月16日(水)、「【UE5】マテリアルで”流れ”を実装してみよう【FlowMap】」と題した記事を、自社ブログにて公開しました。

同記事では、Unreal Engine 5.4.4を使用して、水の流れを表現する方法を解説しています。

まずは、時間経過に合わせてUVをスクロールして動かし、ノイズテクスチャで歪みを加えるといった方法で表現。記事では、ノイズテクスチャにPhotoshopの「雲模様」を使用しています。

(画像はブログ記事より引用)

完成したもの。既に「それっぽい」表現に成功している(画像はブログ記事より引用)

ただし、この実装方法では一方向の流れしか表現できないという弱点があります。

そこで、流れる方向」の情報を持ったテクスチャ(フローテクスチャと呼ばれる)を用いてUVを動かす、「フローマップ」と呼ばれる技術を使用します。これは2010年にValveより発表されたもので、原理さえ理解すれば比較的簡単に実装できると述べられています。

記事で使われたフローテクスチャ(画像はブログ記事より引用)

方向ベクトルの情報を、軸ごとに-1から+1の数値で管理。この情報をテクスチャに格納することで、流れを表現することが可能です。

方向ベクトルと、その情報を格納したテクスチャ。テクスチャに負の値を入れることは不可能なため、0から+1の範囲に補正した値を格納しておき、参照の際に-1から+1の範囲に直して使用する(画像はブログ記事より引用)

フローテクスチャを利用した実装が下記です。フローテクスチャの値に合わせてUVをずらすことで、ただのスクロールとは違い、上下左右の全方向に流れるような動きを表現できます。

(画像はブログ記事より引用)

また、数値の小数部分を返すFrac関数を用いて取得した値を、時間に応じてフローテクスチャに乗算。UVに足される値を0以上1未満にし、緩急のある流れを表現しています。

このとき、Frac関数が小数点以下の値を繰り返す影響で、値が大きく変わる瞬間にループが切れたように見えてしまいます。

(画像はブログ記事より引用)

記事では2つのフローを用意し、位相を半分ずらしてブレンドすることで切れ目を回避しています。

最終的に下記の実装ができあがります。

(画像はブログ記事より引用)

完成したもの(画像はブログ記事より引用)

フローテクスチャを変更しても、正しく適用されることがわかります。

(画像はブログ記事より引用)

なお、ここまでのマテリアルノードは、UEを使う開発者向けにブループリントを共有できるサービス「blueprintUE」にて公開されており、誰でも閲覧可能です。

記事ではほかにも、フローテクスチャ作成における工夫や、『モンスターハンター:ワールド』で実際に使われた表現なども紹介。「一見複雑そうなことをやっているように見えても、一つずつ糸を紐解いていくと意味が見えてくる」といった言葉で結んでいます。

記事本文は、こちらをご確認ください。

【UE5】マテリアルで”流れ”を実装してみよう【FlowMap】

関連記事

「Gameplay Ability System」におけるデバッグ機能の使い方を解説する記事をEpic Gamesが公開。アビリティの実行タイミングを視覚化する機能などを紹介
2025.02.19
Unreal Engine向けゲーム制作コンテスト「第23回UE5ぷちコン」の作品募集が開始!テーマは「せん」。応募締切は4/6(日)
2025.02.14
Epic Gamesの資金援助プログラム「Epic MegaGrants」、2025年1期目の募集がスタート。募集期間は年2回に変更
2025.02.13
「Unreal Engine Meetup in Shizuoka Vol.1」講演資料&動画が公開。静岡県が進めるデジタルツイン施策や、UE5で3D点群データの処理を自動化する手法など
2025.02.12
富士山をバーチャル上にそっくり再現!デジタルツインの活用アイデア満載の「Unreal Engine Meetup in Shizuoka Vol.1」参加レポート
2025.02.10
Unreal Engine 5.5.3がリリース。5.5.2で発生していた、スケルタルメッシュのオーバーライドが消失する問題を修正
2025.02.07

注目記事ランキング

2025.02.28 - 2025.03.07
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

プロパティ(Property)
プロパティ 英語で「資産」や「属性」を意味する。 一般的に対象の持つ属性・性質などを表す。例えば、画像ファイルにおける、容量やファイル形式、解像度などの情報。 3DCGツールやゲームエンジンにおいては、各オブジェクトのふるまいを決める個別の設定項目を示すことが多い。
VIEW MORE

Xで最新情報をチェック!