BLOGブログ

2026.07.01UEUE5UE/ 初心者向けUE/ Material

[UE5]ポストプロセスでRadial Blur(放射状ブラー)マテリアルを作ってみた

執筆バージョン: Unreal Engine 5.4

 

はじめに:Radial Blurとは?

ゲームのダッシュ時や爆発の瞬間、「画面の中心に向かって視線がグッと引き込まれるような、周囲の激しいブレ(ボケ)」を見たことはありませんか?

あのスピード感や臨場感を演出するエフェクトが、今回紹介する「Radial Blur(放射状ブラー )」です!

画面の中心から外側(放射状)に向かってピクセルをぼかすことで、プレイヤーに強烈なインパクトを伝えることができます。

 

主な使い道

  • ブースト・ダッシュ演出: レースやアクションでの「圧倒的な速度感」の表現
  • 被弾・爆発時のショック表現: 画面全体への緊張感や危機の付与
  • 視線誘導: 必殺技のカットインなど、画面中央の要素への注目

 

UE5の標準機能には「モーションブラー」はありますが、この放射状にボカすRadial Blurはデフォルトでは用意されていません。

そこで今回は、ポストプロセスマテリアルを使って、初心者の方もRadial Blurを自作する方法をご紹介します!

 

 


 

 

  • Radial Blurの仕組み(原理)

マテリアルを組み始める前に、Radial Blurがどうやって画面をボカしているのか、その仕組みを簡単に整理しておきましょう。

通常のブラー(ぼかし)は、周囲のピクセルを上下左右に均等に混ぜ合わせます。 それに対して「Radial Blur(放射状ブラー)」は、画面の中心から外側に向かって、ピクセルを直線的にズラしながら重ね合わせる(サンプリングする)ことで表現します。

 

 

 

  • マテリアルの作成手順

それでは、実際にUE5でマテリアルを組んでいきましょう!

 

マテリアルの新規作成と基本設定

1.コンテンツブラウザで右クリックし、新規マテリアルを作成します(名前はM_RadiolBlur)。

2.マテリアルエディタを開き、Material Domainを [Surface]から[Post Process]に変更します。

 

 

 

ノートを繋ぐ

画面の中心を基準にして、DitherTemporalAAのチカチカするノイズを使って、UV座標を放射状にガサガサとズラす処理っていう方法で作っていきたいと思います。

 

1.TexCoord から Subtract(0.5) を引くことで、画面の中心座標 (0.5, 0.5)から外側へ向かうベクトルを割り出します。このベクトルが、ブラーを伸ばす「方向」の基準となります。

 

2.DitherTemporalAAの特性をハックして、UVを放射状に伸縮させるための「ランダムな倍率」を計算します。

まず、DitherTemporalAA に定数 0.8 を入力することで、画面のピクセル単位で「白(1)が80%、黒(0)が20%」の比率を持つ網点ノイズを発生させます。

次に、この 0か 1 のノイズに対して、パラメーターをMultiply(乗算)します。これにより、出力は「0 か 0.2」の二択で高速駆動する値へと変換され、これが最終的なブラーの伸びる長さを制御する基準となります。

最後に、一律で Add(1.0)を加算することで、数値を [1.0~1.2] の範囲へと引き上げます。これによって、上段のベクトルに乗算するためのランダム倍率カウンターが完成します。

 

 

3.これら上下の処理を1つに繋ぎ合わせます。

上段で計算した「基準ベクトル」に対して、下段で作った「ランダム倍率」を乗算で掛け合わせます。これにより、中心からのベクトルの長さが、フレームごとにピクセル単位で激しく伸縮する状態が作られます。

倍率が 1.0のピクセルは本来の正しい位置を描画し、倍率が引き伸ばされたピクセルは本来よりもちょっとだけ外側の位置の画面を描画することになります。

この伸縮させたベクトルに、最後にAdd(0.5)を足すことで、ズレたベクトルを再び正しいUV座標系へと復元し、[SceneTexture:PostProcessInput0]のUVsピンへと流し込みます。

 

4.ColorをEmissive Colorに繋げると完成です。

 

ポストプロセスボリューム(PPV)への適用

作ったマテリアルを実際のゲーム画面に反映させてみましょう!

1. [Place Actors] パネルから 「Post Process Volume」 を検索して、レベル(画面内)にドラッグ&ドロップします。

2.詳細パネルで [Infinite Extent (Unbound)]にチェックを入れ、ボリュームがレベル全体に無限に効くようにします。

3. [Post Process Materials]という項目を探し、配列の要素を追加(+ボタン)して、ドロップダウンから[Asset Reference]を選択します。

4.そこに、先ほど作成したマテリアル(またはそのマテリアルインスタンス)を割り当てます。

 

これで、画面の中心から外側に向かって綺麗にブラーがかかるはずです!マテリアルインスタンスから [作用強度]の数値をいじって、ボケ具合がリアルタイムに変わるのを楽しんでみてください。

 

 

まとめ

今回は、通常は半透明の表現に使われるDitherTemporalAAをハックして、超軽量な放射状ブラーを実装する方法を解説しました。

本来なら難しいHLSLコードや、グラフィックボードに負荷がかかる重いループ処理が必要な表現を、UEの標準機能であるアンチエイリアスのブレンド特性に肩代わりさせるという、非常にスマートでアーティストに優しい最適化アプローチです。

もちろん、アンチエイリアスが必須である点や、静止画では少しザラつきが見えやすいといった注意点もあります。しかし、ゲーム中のダッシュ演出や爆発のショックエフェクトなど、「画面が激しく動く一瞬の演出」において、これほどコストパフォーマンスに優れた表現はありません。

マテリアルを触り始めたばかりの初心者の方も、ぜひゲーム制作の第一歩として、この手軽で強力なブラー作りに作ってみてください。