この記事の要点
- Backdrop Blur ウィジェットを使うと、その後ろのコンテンツをガウシアンブラーで描画できる
- Blur Strength(0–100)でぼかし強度、Apply Alpha でアルファ込みのブラー
- 用途: モーダルダイアログ/一時停止メニュー/ガラス風 UI(Frosted Glass)
- Performance Cost が高い → モバイルでは控えめに、PC/コンソールでも常時使用は避ける
- PC/PS5/Xbox/Switch 2 ではほぼ問題ないが、iOS/Android では Half Resolution + 弱めを推奨
1Backdrop Blur ウィジェットとは
Backdrop Blur(バックドロップ ブラー)は、UE5 UMG の標準ウィジェットの 1 つで、その背後にあるコンテンツをガウシアンブラーで描画します。iOS / macOS のフロスト ガラス UI のような効果を、簡単に作れます。
ポーズメニュー、モーダル ダイアログ、設定画面のオーバーレイなど、UI を前面に出して背景の情報量を一時的に下げたい場面で重宝します。
2使い方の基本
- UMG エディタの Palette から Common → Backdrop Blur をドラッグ
- Canvas Panel に配置、全画面サイズに広げる(Anchor: Full)
- Details パネルで Blur Strength を調整(例: 10–30)
- 子ウィジェットとして暗くするための
Image(半透明黒)やTextBlockを入れる
3主要プロパティ
| プロパティ | 意味 | 推奨値 |
|---|---|---|
| Blur Strength | ブラーのカーネルサイズ | 10–30(強すぎると重い) |
| Apply Alpha Blur | アルファチャンネルもブラー | 透明 UI の周辺で true |
| Corner Radius | 角丸ブラー領域 | カードUI 等で 8–24 |
| Cursor | マウスカーソル形状 | Default |
| Padding | 内側余白 | 子コンテンツに合わせて |
4典型的なモーダル ダイアログ実装
WBP_ModalDialog(フル画面ウィジェット)
└── Canvas Panel
└── Backdrop Blur (Anchor: Full, Blur Strength: 20)
└── Overlay
├── Image (半透明黒, Alpha 0.4) ← 暗転
└── Vertical Box (中央寄せ)
├── Text "本当に終了しますか?"
├── Horizontal Box
│ ├── Button "Yes"
│ └── Button "No"
Blueprint から表示
[On Clicked - Quit Button]
→ [Create Widget] Class: WBP_ModalDialog
→ [Add to Viewport]
→ [Set Input Mode UI Only]
→ [Set Game Paused] true
5Blur Strength の見た目比較
| 値 | 見た目 | 性能影響 |
|---|---|---|
| 0 | 無効(パススルー) | 無 |
| 1–5 | 軽くにじむ程度 | 軽 |
| 10–20 | 明確にぼやける(推奨) | 中 |
| 30–50 | 強いぼかし、背景が判別不能 | 重 |
| 100 | 最大ぼかし | 非常に重 |
6シェーダの仕組み
Backdrop Blur は内部的に Separable Gaussian Blur を 2 パス(水平+垂直)で適用します。各パスでサンプリング回数が Blur Strength に応じて増減し、強度が高いほど GPU の Bandwidth 消費が増えます。
Slate レンダリングパイプラインの一部として実行され、背景レンダーターゲットをコピー → ブラー → 子要素を上に描画という流れ。
7Performance Note
| プラットフォーム | 許容範囲 | 備考 |
|---|---|---|
| PC(GeForce/RTX) | 常時可能 | 4K で Strength 30 まで余裕 |
| PS5 / Xbox Series X | 常時可能 | 1440p–4K で問題なし |
| Switch 2 | 条件付き | Strength ≤ 20 推奨 |
| iOS 上位機(iPhone 14+) | 短時間OK | Strength ≤ 15 |
| Android ハイエンド | 短時間OK | 同上 |
| モバイル中位 | 非推奨 | fps が 30 → 20 に落ちる例多数 |
| VR | 常時非推奨 | 両眼分のコピーが発生し致命的 |
8モバイル向けの軽量化テクニック
- Half Resolution Blur:
r.Slate.BlurBackground.DownsampleAmount=2で半解像度 - Blur Strength を 10 以下に
- 常時表示しない。モーダル時のみ Add / 閉じたら Remove
- 静止画キャプチャ+ガウシアンブラー後の Image で代替(動かないなら十分)
- 背景を単色 + 透明度で済ます場合は Backdrop Blur 不要
; DefaultEngine.ini
[/Script/SlateRHIRenderer.SlateRHIRendererSettings]
; モバイル時に半解像度ブラー
r.Slate.BlurBackground.DownsampleAmount=2
9iOS / Android との比較(OS ネイティブ)
| 環境 | API | 特徴 |
|---|---|---|
| iOS | UIBlurEffect (UIKit) | OS レイヤーでハードウェア最適化、超低コスト |
| macOS | NSVisualEffectView | 同上 |
| Android | RenderEffect.createBlurEffect (12+) | 古い端末では不可 |
| UE5 | Slate Backdrop Blur | 独自実装、移植性高いがコストは OS ネイティブより高い |
UE5 の Backdrop Blur は OS ネイティブほど最適化されていないため、モバイルでは慎重な使用を。
10Apply Alpha Blur オプション
子要素に透明部分がある場合、その透明領域もブラーするかどうかを制御します:
- OFF (既定): 背景のみブラー、子要素はクリスプに描画
- ON: 子要素のアルファエッジもブラー(境界がソフト)
11C++ から動的に
// MyWidget.cpp
#include "Components/BackgroundBlur.h"
if (UBackgroundBlur* Blur = Cast<UBackgroundBlur>(GetWidgetFromName(TEXT("Backdrop"))))
{
Blur->SetBlurStrength(20.0f);
Blur->SetApplyAlphaToBlur(true);
Blur->SetCornerRadius(FVector4(16, 16, 16, 16));
}
12アニメーションで Fade In
UMG Animation で Blur Strength を 0 → 20 にトゥイーンすると、背景がじんわりぼやけていく演出が作れます:
- WBP の Animations タブ → 新規 Animation
- Track に Backdrop Blur を追加
- Blur Strength を 0 秒 = 0, 0.5 秒 = 20 にキーフレーム
- Blueprint の
Play Animationで再生
13トレンド: モーダル UI でのブラー
2020 年代後半の UI トレンド「Glassmorphism」では、Backdrop Blur + 半透明白 + 細い枠線が定番の組み合わせ:
WBP_GlassCard
└── Backdrop Blur (Strength 15, Corner Radius 16)
└── Overlay
├── Image (白 + Alpha 0.15) ← 薄い白を重ね
├── Border (1px 白枠, Alpha 0.3) ← 細い枠線
└── Vertical Box (実コンテンツ)
14FAQ
Q: ブラーが効かない
A: ① Project Settings → Rendering → Forward Shading が ON だと一部効果が崩れる、② モバイルプレビューで Slate のブラー無効化設定、③ 背景が透明(ビューポート外)だとブラー対象が無い、を順に確認。
Q: モバイルで fps が落ちる
A: Blur Strength を 10 以下に、Half Resolution Blur を有効化、それでも厳しいなら静止背景+プリブラー画像で代替。
Q: 角丸ブラーがうまく出ない
A: Corner Radius は UE 5.1+ で安定。古いバージョンは Material で Round Mask を当てるか、Border ウィジェットで角丸を作る回避策。
Q: VR でブラーを使いたい
A: 両眼レンダリングのコピーが発生し非常に重い。原則使わない。Static な Cubemap ブラーや、UI を World Space に置いて空間的に距離をとる工夫を。
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15