Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ComfyUI-FilmLook

ComfyUI custom nodes for 35mm film / Polaroid looks. 依存は torch のみ(ComfyUI本体に同梱)。追加インストール不要・GPU完結。

インストール

このフォルダごと ComfyUI/custom_nodes/ に配置してComfyUIを再起動します。

ComfyUI/custom_nodes/ComfyUI-FilmLook/
  ├── __init__.py
  ├── nodes.py
  ├── download_luts.py
  ├── README.md
  └── luts/

LUTを使用する場合は、インストール後にカスタムノードのフォルダで次を実行してください。

cd ComfyUI/custom_nodes/ComfyUI-FilmLook
python download_luts.py

このスクリプトは、必要な19個の第三者HaldCLUT PNGを配布元リポジトリから利用者の環境へ直接取得します。LUTは本リポジトリには同梱されていません。

取得元と利用条件の案内:

手動で取得する場合も、download_luts.py内のFILESに記載された配布元パスと保存名に従い、luts/へ配置してください。

LUTがない状態でもノードは動作しますが、LUTを使用するプリセットの色変換は適用されず、パラメトリック処理のみになります。

ノード(カテゴリ: FilmLook)

Film Look Preset — 手軽に使う用

プリセット選択とグループ別「倍率」で調整するノードです。

各スライダーは絶対値ではなく倍率です。

プリセットを変えてもスライダーが動かないのは正常です。

  • 1.0: プリセットのテンプレート値
  • 0: その効果を無効化
  • 2.0: テンプレート値の2倍
  • strength: 元画像との全体ミックス
  • 第2出力 resolved_params: 実効パラメータのJSON

主なプリセット:

portra_400 / kodak_gold_200 / ektar_100 / cinestill_800t / ilford_hp5_400 / polaroid_sx70 / polaroid_600 / instax_mini / utsurundesu_400

倍率グループ:

softness / diffusion / chromatic / color / halation / grain / vignette

Film Look Custom — 数値を見ながら詰める用

全パラメータを絶対値で指定する完全マニュアル版です。

先頭の preset を選ぶと、全ウィジェットにプリセット値が流し込まれます。テンプレート数値を確認してから個別に調整できます(JS拡張 web/presets.js)。

customを選んでいる間は値を変更せず、現在のウィジェット値をそのまま使用します。処理に使われるのは常に現在のウィジェット値で、preset自体は画像処理に直接影響しません。

周辺エッジソフトネス(edge_softness)

像面湾曲風の効果です。中心はシャープなまま、周辺に向かうほど像を柔らかくします。

  • edge_softness: 周辺での最大ブレンド量
  • edge_radius: 周辺ブラー半径
  • edge_start: 柔らかくなり始める半径(0が中心)
  • Presetノードでは softness 倍率に連動

Film Look Frame

インスタント写真風フレームを合成します。

  • crop: square / instax_mini / none
  • instax mini実寸比の目安: border_side=0.087, border_top=0.109, border_bottom=0.413
  • 画面46×62mm、プリント54×86mmに基づく比率です。

命名規則

  • パラメータ: {効果}_{属性}
  • 属性語彙: strength / radius / threshold / color
  • トーン・色は一般的なグレーディング用語を使用
  • プリセット/LUT ID: {メーカー}_{銘柄}_{感度|変種}
  • 型番内のハイフンは省略(例: px70, fp100c
  • フィルム由来でないものは creative_ 接頭辞
  • クラスID: FilmLook{機能}
  • 表示名: クラスIDをスペース区切りにした名称

色の仕組み(v0.5.0以降)

一部のプリセットは、第三者のHaldCLUT PNGを使用して色変換します。LUTの取得元では、RawTherapee Film Simulation Collectionとして案内されています。

  • fuji_utsurundesu_400 → Fuji Superia 400
  • fuji_instax_mini → Fuji FP-100c
  • polaroid_sx70 / polaroid_600 → Polaroid PX-70 / PX-680
  • polaroid_time_zero → Polaroid Time Zero (Expired)
  • kodak_colorplus_200 → Kodak Elite Color 200
  • fuji_velvia_100 → Fuji Velvia 100
  • lomo_redscale_xr → Lomography Redscale 100
  • lomo_lady_grey_400 → Kodak T-Max 400
  • amber_t800 → Fuji 800Zとパラメトリック調整
  • 寒色・クロスプロセス系: fuji_provia_100f, fuji_superia_200_xpro, kodak_elite_100_xpro, instax_mini_cool, crisp_winter, polaroid_polachrome
  • kodak_gold_200 / cinestill_800t はパラメトリック処理のみ

ノード内のtemperatureなどの色パラメータは、LUT適用後のトリムにも使用されます。

ライセンスと第三者ファイル

  • ComfyUI-FilmLook本体のコード: MIT License
  • ダウンロードされるLUT: 第三者著作物であり、本体のMIT Licenseの対象外
  • LUT本体は本リポジトリおよび配布パッケージに同梱しない
  • LUTの利用、複製、改変、再配布を行う前に、原作者および配布元が示す最新のライセンス・利用条件を確認する
  • download_luts.pyは取得を補助するもので、LUTに関する権利の付与や再配布許諾を行うものではない

詳細は luts/ATTRIBUTION.mdDISCLAIMER.md を参照してください。

ダウンローダーの動作

download_luts.pyは次の処理を行います。

  • 19個の必要ファイルのみ取得
  • 一時ファイルへ保存後、検証に成功した場合だけ正式ファイルへ置換
  • PNGヘッダー、画像寸法、HaldCLUTレイアウトを検証
  • 破損した既存ファイルは再取得
  • 失敗時は最大3回再試行
  • 成功数、既存数、失敗数を表示
  • 1件でも失敗した場合はエラー終了

解像度正規化

ピクセル単位のパラメータ(各種sigma、色収差、グレイン粒径)は、短辺1024pxを基準として自動的に解像度へ追従します。同じプリセットなら、1Kでも4Kでも効果量が近くなるよう調整されます。

処理パイプライン

解像度制限 → MTFロールオフ → 色収差 → ディフュージョン → カラーグレード → ハレーション → グレイン → ビネット

実世界の光路に近い順序で、先に像を柔らかくし、その後にグレインを加えます。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages