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

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】

関連記事

UE公式の大型イベント「UNREAL FEST 2024 TOKYO」の講演アーカイブ動画・スライド資料が公開
2024.11.15
Unreal Engine 5.5がリリース。Selectノードなしで複雑な選択ロジックを作れる「Chooser」正式導入のほか、Navmesh間を橋渡しするNavLinkの自動生成機能が追加
2024.11.13
プレイヤーの動きによって波立つ水面をNiagaraで実装。ホラーゲーム『Still Wakes the Deep』開発者による水の表現手法を解説する記事が、UE公式ブログにて公開
2024.11.11
「UNREAL FEST 2024 TOKYO」最速フォトレポート。約2,000人のUE5ユーザーが集ったリアル会場の雰囲気を写真でお届け
2024.11.02
UE・Unity・GodotをサポートするIDE「Rider」が「WebStorm」とともに非商用に限り無料で使用可能に
2024.10.25
UE5&Houdiniを用いた効率的なプロップ制作や“TAが教えるUE5 お役立ちテクニック”を一挙紹介。第4回「Unreal Engine Meetup Connect」講演資料が公開
2024.10.24

注目記事ランキング

2024.11.14 - 2024.11.21
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

フォワードシェーディング(Forward Shading)
フォワードシェーディング オブジェクト毎にライティングの計算を行い、その計算結果を描画するレンダリング手法。フォワードレンダリングともいう。ディファードシェーディング(Deferred Shading)に比べてポストプロセスの自由度は低いが、(何も物を配置しなかった際にかかる)最低限の描画コストが低く、アンチエイリアス処理などにおいてフォワードシェーディングの方が有効な分野も存在する。
VIEW MORE

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