Bloom TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Bloom TOP の発光・ハイライト滲みエフェクトを示すサムネイル

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – ブルーム(発光・ハイライト滲み)エフェクト

Bloom TOPは、入力画像のハイライト部分をマルチレベルブラーで滲ませ、発光(グレア)効果として元画像に合成する TOPです。Min / Max Bloom Radius で滲みの帯域、Bloom Threshold / S-Curve でハイライト抽出形状、Bloom Intensity で最終強度を制御でき、Output パラメータで前処理結果やブルーム単独の出力も切り替えられます。

主な用途 🎯

  • HDR レンダリングのハイライト部分に対する発光(グレア)表現
  • ネオン・LED・パーティクル光源など明部の滲み合成
  • 映像素材の柔らかなドリーミー感の付与(写真の Diffusion フィルタ相当)
  • Threshold で輝度上位のみを抽出して局所的に発光させる選択的ブルーム
  • Min / Max Bloom Radius によるブルーム半径の帯域制御(広域グロー〜タイトなハイライト滲み)

データフロー 🔄

入力: HDR / LDR 画像

Pre-Black Level / Pre-Gamma / Pre-Brightness で前処理

Min〜Max Bloom Radius 間で複数 mip レベルのブラー累積

Bloom Threshold / S-Curve / Fill で形状調整

Bloom Intensity で強度乗算

出力: Input + Bloom 合成画像

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Bloom Page 📋

前処理パラメータ 🎚️

Pre-Black Level .preblacklevel
Level TOP の Black Level 相当の前処理。指定輝度未満のピクセルを黒に潰すことで、ハイライト部のみをブルーム計算に通せるようになる

Pre-Gamma .pregamma 🌗
Pre-Black Level 適用後にピクセル値へ与えるガンマ補正。非ゼロ値全体を RGB=(1,1,1) 寄りに引き上げ、ブルームに通す輝度分布を圧縮する

Pre-Brightness .prebrightness 💡
Pre-Gamma 適用後のピクセル値に対する乗算。前処理段の最終ゲインで、ブルームに入る前の輝度全体を底上げ・減衰できる

Bloom 半径関連パラメータ 📏

Min Bloom Radius .minbloomradius 🔽
サンプリングを開始する最小ブラーレベルを 0〜1 で指定。1024×1024 画像が 10 段のブラーレベルを持つとき 0.2 ならレベル 2(1/4 縮小画像)から開始。値が大きいほど細かなブルームが弱まる

Max Bloom Radius .maxbloomradius 🔼
サンプリングする最大ブラーレベルを 0〜1 で指定。0.8 で 10 段中レベル 8 まで使用。値が大きいほど広域のグローが乗る

Bloom 形状関連パラメータ ✨

Bloom Threshold .bloomthreshold 🪞
ブラーレベル合成後の出力に対し、暗部を切り捨てる閾値。正の値でハイライトのみを残す方向に、負の値で画像全体の平均成分を多く加える方向に作用する

Bloom S-Curve .bloomscurve 📈
ブルームのロールオフ(明部から暗部への減衰カーブ)を S 字状に締めるパラメータ。値を上げるほどホットスポットに対しタイトに集中したブルーム形状になる

Bloom Fill .bloomfill 🫧
ブルームの広がりを増す(フィルする)パラメータ。同じ Bloom Radius でも Fill を上げるとより太く塗りつぶされた発光になる

Bloom Intensity .bloomintensity 🔆
累積されたブルーム値に対する最終乗算ゲイン。全体の発光強度をここで一括スケーリングする

Output .output 📤

Bloom パイプラインの中間段階を含めた出力切替

項目 内部名 説明
Input .input 前処理・ブルーム計算を行わず元の入力画像をそのまま出力(プレビュー比較用)
Preprocess .preprocess Pre-Black Level / Pre-Gamma / Pre-Brightness 適用後の前処理結果を出力。ブルーム計算に渡る前の輝度を可視化
Bloom .bloom ブルーム成分のみを出力し、アルファチャンネルは 1。ブルーム単体を別途合成したい場合に使用
Bloom with Alpha .bloomalpha ブルーム成分のみを出力し、アルファは RGB の最大値で算出。Composite TOP で Over 合成する際に便利
Input + Bloom .inputbloom 元画像にブルームを加算した最終合成結果を出力(デフォルト)

Input Image .inputimage0 🖼️

最終ブルーム値に加算される元入力画像の乗算ゲイン:

  • Input Image: 最終ブルーム値に加算される元入力画像値の乗算ゲイン。1.0 で元画像そのまま + ブルーム、0.0 でブルームのみ出力

Common Page 🔧

Output Resolution .outputresolution 🖼️

出力解像度の決定方式

項目 内部名 説明
Use Input .useinput 入力 TOP の解像度をそのまま継承
Eighth .eighth 入力解像度の 1/8
Quarter .quarter 入力解像度の 1/4
Half .half 入力解像度の 1/2
2X .2x 入力解像度の 2 倍
4X .4x 入力解像度の 4 倍
8X .8x 入力解像度の 8 倍
Fit Resolution .fit 指定解像度に縦横比を保持して収める
Limit Resolution .limit 指定解像度を上限としてクランプ
Custom Resolution .custom Resolution パラメータで任意指定

実践アイデア 💡

Example 1: HDR レンダリングへのグレア追加 ✨

Render TOP (HDR) → Bloom TOP → Tone Map TOP → 最終出力

3D シーンの Render TOP を 16-bit float で受け、Bloom TOP でハイライト部分のみを滲ませてから Tone Map TOP で LDR に落とす定番フロー。ネオン・スペキュラハイライトが自然に光る。

  1. Render TOP の Pixel Format16-bit float (RGBA) 以上に設定し HDR で渡す
  2. Bloom TOP の Bloom Threshold を 1.0〜2.0 程度に上げ、輝度 1 以上のハイライトのみ抽出
  3. Min Bloom Radius = 0.0 / Max Bloom Radius = 0.7 程度で広めの帯域に
  4. Bloom Intensity でグレア強度を最終調整し、後段の Tone Map TOP で LDR に圧縮

Example 2: ネオン・パーティクル光源の発光演出 💡

Particle System / Geometry COMP → Render TOP → Bloom TOP → Composite TOP

パーティクル光源やネオンライト風の単色幾何を Render TOP に通し、Bloom TOP で発光感を付与する用途。タイトな滲みでネオンサイン、広めの滲みで夜景の光球表現が作れる。

  • 光源マテリアルの輝度をシーン平均より明確に高く設定(例: emissive 強度を 2〜10 倍)
  • Bloom TOP の Bloom Fill を上げて発光部の太さを確保
  • Bloom S-Curve で芯と滲みの境界を引き締め、シャープなネオン感を出す
  • OutputBloom with Alpha にして、Composite TOP で Over 合成する選択肢も検討

Example 3: 映像素材へのドリーミー Diffusion フィルタ 🌫️

Movie File In TOP → Level TOP → Bloom TOP (低強度・広半径) → 出力

映像素材全体に柔らかな滲みを乗せ、写真の Diffusion フィルタ(プロミスト系)のような夢見心地のルックを作る。Threshold を下げて中輝度まで巻き込むのがポイント。

  • Movie File In TOP の前段に Level TOP でガンマ・コントラストを軽く調整
  • Bloom TOP の Bloom Threshold を 0 もしくは負値にして中輝度成分まで滲ませる
  • Max Bloom Radius を 0.8〜1.0 に上げて広域ソフト感を出す
  • Bloom Intensity を 0.2〜0.5 と低めにし、過度な白飛びを避ける

Example 4: 前処理プレビューによる Threshold 調整ワークフロー 🔍

Render TOP → Bloom TOP (Output=Preprocess) → 確認 → Output=Input+Bloom

Output パラメータを一時的に Preprocess に切替えて Pre-Black Level / Pre-Gamma / Pre-Brightness の効きを可視化し、どの輝度域がブルームに入るかを目視で詰める手法。

  1. Bloom TOP の OutputPreprocess に変更
  2. Pre-Black Level を上げて暗部を黒く落とし、ブルーム対象を絞る
  3. ハイライトのみが残る状態になったら OutputInput + Bloom に戻す
  4. 必要なら Output = Bloom で発光成分単体も確認してパラメータを最終調整

関連オペレータ 🔗

類似機能OP 🔍

  • Luma Blur TOP — 輝度ベースの選択的ブラー(軽量な擬似ブルーム)
  • Blur TOP — 汎用ガウシアンブラー(手動ブルーム合成の構成要素)

組み合わせ推奨OP 🔄

  • Level TOP — Bloom の前段でブラックレベル・ガンマを整える
  • Tone Map TOP — HDR ブルーム後段の LDR トーンマッピング
  • Composite TOP — Output=Bloom with Alpha と Over 合成
  • Render TOP — HDR レンダリング出力をブルーム入力にする
  • Feedback TOP — ブルーム結果をフィードバックして残光・トレイル表現

前処理・後処理TOP 🎯


Info CHOP情報 📊

Bloom TOP は Info CHOP による詳細情報取得に対応しています。

TOP固有情報 🖼️

  • resx: TOP の出力解像度 X (ピクセル単位)
  • resy: TOP の出力解像度 Y (ピクセル単位)
  • aspectx: アスペクト比 X
  • aspecty: アスペクト比 Y
  • depth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)
  • gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: ブルームが弱くほとんど効果が見えない
✅ Solution:

  • Bloom Intensity を 2〜5 程度まで上げて発光ゲインを引き上げる
  • 入力が LDR (8-bit) の場合は Bloom Threshold を 0 や負値まで下げ、中輝度成分も巻き込む
  • Max Bloom RadiusMin Bloom Radius 以下になっていないか確認(強制的に Max = Min に丸められる)
  • 前段で Level TOP によりブラックレベルを下げすぎていないか確認

❌ Problem: 画面全体が真っ白に飛んでしまう
✅ Solution:

  • Bloom Intensity を 0.5〜1.0 程度に下げる
  • Pre-Brightness が 1 を大きく超えていないか確認
  • Bloom Threshold を正の値に上げてハイライトのみを抽出する
  • Output を一時的に Bloom に切替え、ブルーム成分単体の暴れ具合を確認

❌ Problem: ハイライト周辺にブロック状(ステップ状)のアーティファクトが出る
✅ Solution:

  • Common Page の Pixel Format16-bit float (RGBA) 以上に上げて精度を確保
  • Min Bloom Radius を 0 に近づけて低レベルブラーから連続的に積む
  • 前段の入力解像度が極端に低い場合は元画像の解像度を上げる

❌ Problem: ブルームが太く・甘くなりすぎる
✅ Solution:

  • Bloom Fill を下げて広がりを抑制する
  • Bloom S-Curve を上げてホットスポット付近に集中させる
  • Max Bloom Radius を下げて広域ブラーレベルを使わない構成にする

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました