o_Tonemap
お手軽トーン補正エフェクト(o_Tonemap)について
http://www.nicovideo.jp/watch/sm13654257
自分が初めて作って公開した記念すべきエフェクトです。
使い方
MME が動作している MMD に使いたいエフェクトのアクセサリファイル(o_Tonemap.x など)を読み込ませてください。
このエフェクトはポストエフェクトなので読み込んだ時点で、画面全体に対して効果が表れます。
初期のバージョンではアクセサリ描画順で先頭に持っていかないといけない仕様がありましたが、ver 0.3 以降では同じポストエフェクト同士の描画順を調整するだけで問題なく動作します。
自分のエフェクトに限りませんがポストエフェクトを読み込んだだけの初期状態では強めに効果が掛かります。
そのため「アクセサリ操作」の Tr(不透明度)を小さくすることでエフェクトの調整を行うようにしてください。
“Default”プリセット使用時には 0.5~0.75 あたりがオススメです。
他にも「アクセサリ操作」の X, Y, Z(位置)を調整することで簡易色調補正が出来ます。
プリセットについて
このエフェクトの特徴であるプリセットテクスチャは画像編集ソフトで簡単に作れます。
- まずは Photoshop や GIMP などで「見本集」(v0.6e は bitmap)フォルダの中にある「そのまま.bmp」(同 Plain.bmp)を開きます。
- これは何も変更しない状態が「そのまま.bmp」だからです。もしあるプリセットから追加で補正したい場合は、そのプリセットに該当するビットマップファイルを開いてください。
- これは何も変更しない状態が「そのまま.bmp」だからです。もしあるプリセットから追加で補正したい場合は、そのプリセットに該当するビットマップファイルを開いてください。
- 画像編集ソフトのトーンカーブなどの色調補正機能などで補正してください。
RGBの各要素に対して補正するタイプのみ有効です。モノクロ化や彩度補正などのグレースケール画像に対して行っても意味ない補正は反映できません。
Photoshop でトーンカーブ補正した例。赤をかなり強く、緑をかなり弱く、青を明暗反転したうえでコントラストを上げたカタチ。
- 別名で保存(ここでは「テスト.bmp」)した後、o_Tonemap.fx の 14行目を保存したファイル名に書き換える。
- #define Preset "デフォルト"
↓#define Preset "テスト"
別のエフェクトとして保存する場合はエフェクトファイルとアクセサリファイルの両方を同じ別名に変更してください。
- あとは実際に適用すれば画像補正したとおりにエフェクトが掛かります。
↓ 上で作った「テスト.bmp」をエフェクトとして適用するとこうなります。
もし「そのまま.bmp」のグラデーションバーだけだと色調補正の感覚がつかめない場合は、画像として保存した MMD 出力を画像編集ソフトで別レイヤーとして読み込んでおき、その MMD 出力に対して行った補正と同じものをグラデーションバーに行うといいかもしれません。
ちょっとした小ワザ
寒色系や暖色系グレー
上にも書いた「アクセサリ操作」の X, Y, Z(位置)を調整することで、モノクロ化するさいに清潔感がある寒色系グレーや温かみを感じさせる暖色系グレーにすることが出来ます。
彩度を下げる
自分の o_SelfOverlay が代表的ですが見栄え良くするエフェクトにはコントラストだけではなく、彩度も一緒に上がるのが一般的です。
そんなエフェクトを使っていると最終的な彩度が鮮やかすぎて目が痛くなるので、最終段で o_モノクロームを薄く(0.1~0.25程度)掛けることで落ち着かせることが出来ます。
画像は判りやすくするために Tr:0.33 で掛けているため肌の色が悪いです。強くかけすぎる場合は X に 0.2 など指定して赤色を加えた方が良いかもです。
なぜ、このエフェクトを作ったのか
らぶ式ちびミクの流し込み動画を投稿していただけの自分が、エフェクト作成に手を出した切っ掛けは、「MMD から出力しただけ」の動画が少なくなかったからだったりします。
今ではテスクチャをふんだんに使ったり、細かな造形で作られているモデルやステージが増えたり、エフェクトの充実によって MMD からの単純出力でも見栄えの良い動画を作れるようになっています。
しかし当時はまだまだノウハウの共有も少なく、PCのスペックもあって造形もテクスチャも最小限な環境で MMD から出力した映像は、個人的な印象ですが明るく軽いイメージがありました。
その映像を映像編集ソフトを使ってポストプロセスで補正を行っている人達と、MMD で初めて映像に触ったという映像編集という手段を知らない人の間にはパッとした見た目からして差があったように思います。
そこで色調補正などのポストプロセスの魅力を知ってもらう良い方法はないかと悩んでいたところ、そぼろさんの Diffusion フィルタをコントラストを上げるために使っている人に出会い、「MikuMikuEffect を使えば、簡単な色調補正が出来るかもしれない!」と思い立ったのがすべての始まりでした。
久しぶりのプログラム、初めての HLSL
当時はエフェクトの記述言語である HLSL というプログラム言語に触れたこともなく、このコンテンツで解説しているエフェクトの種類もまったく理解していませんでした。
そんな中で そぼろさんの Diffusion フィルタがシンプルで非常に判りやすかったこともあって、Diffusion.fx をベースに MSDN を参照しながら作ったのが最初の o_Tonemap になりました。
最初はマジメにトーンカーブ(MMMに付いているモノと同様なもの)を実装しようと試行錯誤していたのですが、HLSL に慣れていない自分には敷居も高く処理も重いとの判断で見送り、外部テクスチャを用いる方法に落ち着きました。
妥協の上での方式とはいえ、ビットマップを補正するだけでプリセットにできる外部テクスチャ方式は初心者でも使いやすいものになったんじゃないかと><
a:37735 t:2 y:6