【DaVinci Resolve】 Halftone(ハーフトーン)エフェクトを作る 【Fusion】
🐥 はじめに
みなさん、こんにちは。Mugです🐼
本記事では印刷物などで見られるHalftone(ハーフトーン)表現を、📽DaVinci Resolve の Fusion で再現する方法を紹介します
Halftone とは、小さなドットのサイズや密度を変化させることで階調(濃淡)を表現する技法です
- 暗い部分ほど大きなドット ⚫
- 明るい部分ほど小さな(またはドットなし)ドット ⬜
上記を踏まえて、今回は以下の3つのアプローチを紹介します 😤
- VariBlur ノードを使った Halftone
- Particle ノードを使った Halftone
- MugSimpleHalftone(Fuse)を使った Halftone ← オススメ💯💮
1 Variable Blurによるhalftone
VariBlurを使用したhalftoneです

完成品
📺 参考動画(元ネタ)
1.1 ドット作成
Shape等を使用してドットを作成し

Dot作成

ノード接続: sEllipse → sRender
TransformのEdgesをMirrorに設定、サイズを縮小することで全面にドットを描画します

EdgesをMirrorに設定

ノード接続: sEllipse → sRender → Transform

サイズ調整後のプレビュー
Transformのサイズを👆 のような見た目になるように調整(小さく)します
1.2 ドットぼかし
VariBlurを使用して入力映像の明るさに応じたドットのぼかしを設定します
VariBlurとはBackgroundに接続したイメージを
Foregroundに接続したイメージの明るさに応じてボケさせるノードです
明るい部分ほど大きくボケます

VariBlurプレビュー

ノード接続: VariBlur (Background: Transform, Foreground: Input Image)
👆 少し見づらいですが、Foregroundの入力映像(左側)の明るい部分でドットのボケが強くなってます👀
📢 ボケが大きくなるほどドットが薄くなります
結果、明るいところはほとんどドットが見えなくなります
上記画像のようになるようにVariBlurのBlur Sizeを調整します
ただ、このままだと後々扱いにくいので
InvertColorを使い入力映像を反転させ、 暗いところほどドットがボケる(=薄くなる) ように変更します

InvertColorプレビュー

ノード接続: Input Image → InvertColor → VariBlur(Foreground)
1.3 背景色設定
Backgroundをドットとマージします
これがhalftoneの背景色となります、好きな色を設定します🤩

Backgroundプレビュー

ノード接続: Merge (Background: Background, Foreground: Transform)
1.4 コントラスト調整
ColorCurvesを使用してドットのコントラストを調整します
カーブ設定を👇下記画像のような形にしてコントラストを上げます
これは入力映像に合わせて調整します💪

ColorCurvesプレビュー

ノード接続: VariBlur → ColorCurves → MediaOut
これで完成です🎉
1.5 まとめ
全体像

ノード構成全体
👍 イイねポイント
- それっぽい見た目
- 処理が軽め
🤢 残念ポイント
- ノードの組み合わせが難しい
- 各パラメータの調整が非常に難しい
- ドットサイズ変化が急でラインが目立つ
2 Particleによるhalftone
Particleを使用したhalftoneです

完成品
📺 参考動画(元ネタ)
2.1 Particle化
pImageEmitterを使用して入力映像をparticle化します
ただ接続しただけでは何も表示されないため😑
pImageEmitterの各パラメータを下記のように設定します
⚙️ Controlsページ ⚙️
- X Densityを0.1
- Y Densityを0.1
- Create Particles Every Frameにチェック✅
- Lifespanを1.0
⚙️ Styleページ ⚙️
- StyleをNGon
- NGon Sidesを12
- Sizeを2.0
🗒️設定値解説 🗒️
- 
Densityはドット分割数です、大きくするとより細かなドットとなります
 → 大きくすればするほど処理が重くなります😵💫
- 
Create Prticles Every Frame,Lifespanを設定することでParticleの生成を固定化します
- ドット状になるようにStyleを設定します
- 
Sizeを2.0にすることである程度暗いところがきれいに塗りつぶされるように設定します
 → これはお好みで調整します👍
👇 正しく設定できれば下記のように少し解像度が下がったような映像になります👀

pImageEmitterプレビュー

ノード接続: Input Image → pImageEmitter → pRender

pImageEmitter Controlsの設定

pImageEmitter Styleの設定
2.2 輝度に応じたドットサイズ設定
pCustomを使用してParticleごとに異なるサイズのドットとなるようにします
各Particleの輝度を算出し、その輝度に比例してParticleサイズを設定します🤔
具体的にはpCustomでParticleページのSizeを👇下記のように設定します
size * (1 - ((r * 0.299) + (g * 0.587) + (b * 0.114)))
この計算式は輝度が最大のときsize * 1.0となります
sizeとはpImageEmitterのStyleで設定したサイズです、つまり2.0です

pCustomプレビュー

ノード接続: pImageEmitter → pCustom → pRender

✂️ --- 中略 ---✂️

pCustom ParticleページSizeの設定
2.3 ドット色設定
pCustomを使用してParticleの色を上書き設定します
Red, Green, Blueに好きな色を設定します😍
今回は黒にします

pCustom ParticleページRed/Green/Blueの設定
2.4 背景色設定
Backgroundをマージして背景色を設定します
これは好きな色を設定します😍
今回は白にします

Background の設定

ノード接続: Merge (Background: Background, Foreground: pRender)
2.5 コントラスト調整
BrightnessContrastを使用して入力映像のコントラストを調整します
これは📽️映像を見ながら好みのドット感になるように設定します👀

BrightnessContrastの調整
これで完成です🎉
2.6 まとめ
全体像

ノード構成全体
👍 イイねポイント
- きれいな円形ドット
- 正確なhalftone表現
🤢 残念ポイント
- ノードの組み合わせが非常に難しい
- 処理が非常に重い🐘🐘🐘
3 MugSimpleHalftoneによるhalftone
MugSimpleHalftoneを使用したhalftoneです
これは私が作ったエフェクトで、実はこの記事はこれを自慢するのが目的の記事です🤫

完成品
3.1 インストール
わたしのGitHubページからfuseファイルをダウンロードし、💻各OSごとの格納先に保存します
🗒️ Fuseファイル
📁 各OSごとのFuseファイル格納先
| OS | Path | 
|---|---|
| macOS | ~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Support/Fusion/Fuses | 
| Windows | %appdata%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Fuses | 
| Linux | /.local/share/DaVinciResolve/Fusion/Fuses | 
参考動画
よくわからないー😭という方はこちらの動画でインストール方法を説明しているので
見ていただけるとわかってもらえるかなと思います😊
3.2 接続
インストールするとエフェクトのTools → Fuses → MugにMugSimpleHalftoneというものが追加されます
これを接続します👍

エフェクトパネルからの追加
Select Tool(Shift + Space)からはMSHの省略名で検索できます👍

Select Tool からの追加

ノード接続: Input Image → MugSimpleHalftone → MediaOut
3.3 調整
映像を見ながらMugSimpleHalftoneのインスペクタで各パラメータを調整します
直感的に設定できる(と思う)のでお好みで調整します😊

設定例
これで完成です😮🎉
3.4 まとめ
全体像

ノード構成全体
👍 イイねポイント
- きれいな円形ドット
- 正確なhalftone表現
- 非常に軽い動作
- 非常にシンプルなノード構成
- 直感的なドット調整
🤢 残念ポイント
- Fuseファイルのインストールが必要
🐔 おわりに
1, 2で紹介した方法で満足できなかったので自分でエフェクトを作りました
MugSimpleHalftoneは結構頑張って作ったので使ってもらえるとすごく嬉しいです☺️
ソースコードを公開しているのでFuseの参考にもどうぞ!
この記事が参考になった場合は、ぜひコメントやSNSでシェアしていただけると嬉しいです!
また、フィードバックや質問があればお気軽にお知らせください


Discussion