MMD Supporter

エフェクト

エフェクト作業はMMDの中でも特に楽しい作業であると同時に、一番「どうすればいいか分からない」作業でもあると思います。私も初めてエフェクトを入れた時は、何をいれればいいのか、エフェクトでどんなことが出来るのか、何もわからないまま、コンセプトもなく、なんとなくよく「これがイイ」って聞くものを入れた結果...

ドーナツバニー

処女作のエフェクト。初心者あるある。

何を表現したかったのか、まったく分からないものが出来上がりました。今見ても何がしたかったかわからないし、当時も自分でどうしたいのか分かっていなかった状態です。

なら今はどう変わったかというと、「空気感のある画」というコンセプトを持ってエフェクトを入れるようにしています。空気感というのもなかなか抽象的なワードですが、言い換えるなら「空間の奥行」だとか「空気の密度」「湿度」といった肌に触れるような空気の感覚とでも言いましょうか。それでどれくらい変わるかといういうと

昨今のエフェクト

昨今のある程度、定番になってきたエフェクト

このくらい変わります。というのも、自分なりの「空気感」とは何かを考えた時に、「被写界深度」と「空気遠近」という明確な答えを持ったことで、エフェクトの方向性が見えてきたからです。

もし先輩MMDerの作品で「素敵だな」と思うものに出会ったら、具体的に何がどう素敵なのか、考えてみるとよいでしょう。影がパッキリとしていてセルルックのさらっとした質感がいいなとか、青みの強いライトが好きだなとか。素敵や好きの具体的な理由が分かれば、それがエフェクトを決める手掛かりになります。

今回は、私のコンセプトをなぞっていただくことになりますが、なるべくスペックによる制限を出したくないので使うエフェクトを3つ(厳密にいえば、シェーダーに付属するポストエフェクトも使ってるので、3つ+α)に絞って、作っていきたいと思います。

再生FPS設定

FPSとはFrames Per Secondの略で、1秒間に処理されるフレーム数を表す単位です。この数値のことをフレームレートと言います。簡単にいうと、動画は静止画の連続なので1秒間を何枚の静止画で繋ぐかということです。当然、多くの静止画を使った方が滑らかになり、数が少なければ動きがカクつくようになります。

ちなみに、このフレームレートはエフェクトとは正直関係がないんですが、MMDでは出力の時のフレームレートとは別に、プレビュー再生のFPSを表示させる機能があり、エフェクトを入れるとPCに負荷がかかる分、再生時のFPSがどんどん低くなっていく性質があるので、あとどのくらいエフェクト入れられそうかのバロメーターとして使えます。まったくもって正規の使用方法ではありませんが、よくMMDerは「fps瀕死」と呟いているので、多分、結構な人数が同じ使い方をしてると思います!そして一桁台までごりごりエフェクトのせてます。

再生FPS表示

本来とは別の用途に使用されるかわいそうな子

表示方法は簡単。画面右上の「情報」をボタンを押すだけです。ツールバーの表示設定の中に「fps制限」で再生時のフレームレートに制限をかけることができますが、あまり大きいと再生時にPCにかかる負荷が大きくなるので、PCのスペックに自身が無ければ30fpsにしておきましょう。ちなみにここまので設定は、あくまで「プレビュー再生時」のものであり、動画出力時の設定とは別物です。

PowerShader

PowerShaderは角砂糖さんが配布されている、シェーダーと呼ばれる種類のエフェクトとポストエフェクトと呼ばれるエフェクトが組み合わさった複合型エフェクトです。コントローラーで影色の変更ができたり、フォグ機能がついていたりして、多機能なのに使い方がシンプルで分かりやすいオススメのエフェクトです。文字で見ても難しいと思うので、それでは実践していきましょう。

シェーダーの適用

シェーダーとは陰影を調整して質感を変えて見せるタイプのエフェクトです。モデル単位の他に、「モデルの材質単位」での割り当てが出来ます。

Steps
  1. [MMEffect > エフェクト割り当て] をクリックします。
  2. [エフェクト割り当て > Main] の中から、エフェクトを割り当てたいモデルにチェックを入れます。今回はすべてにチェックを入れてください。
  3. 『ファイル選択』ボタンをクリックします。
  4. EffectフォルダにDLしたPowerShaderフォルダを開くと、中にさらに「Shader」フォルダがあるので、そこへ移動します。
  5. 「Shader_Main.fx」を選択しして「開く」ボタンをクリックします。
  6. [エフェクト割り当て > Main] の「Effect File」に、今割り当てたファイルのパスが表示されたら「OK」ボタンを押します。
PowerShaderのシェーダー適用手順

OKを押して、画面全体が不安になるくらい明るくなっていればOKです。ちなみにMMEffectをクリックしたときに、下記図の3つにチェックがついていない場合は、チェックを入れておきましょう。

MME設定
ポストエフェクトの適用

ポストエフェクトとはモデルに対し作用するシェーダーとは異なり、画面全体に効果が及ぶフィルターのような役割をするエフェクトです。PowerShaderには光の当たっている部分を発光させるAutoLuminousPと、光を拡散させるDiffusionPという2つのポストエフェクトが付属しています。

Steps
  1. [アクセサリ操作パネル]AutoLuminousP.xを読み込むか、ドラッグ&ドロップします。
  2. [アクセサリ操作パネル]DiffusionP.xを読み込むか、ドラッグ&ドロップします。
PowerShaderのポストフェクト適用手順

Luminous系のエフェクトは総じてとても重いので、もしAutoLuminouP.xが重くてfpsが一桁くらいまで落ちるようでしたら、PowerShader内のあるAutoLuminousP軽量版フォルダの中の「LuminousP.x」または「SimpleLuminous.x」を代わりに使用してください。

またAutoLuminousP(LuminousP.x / SimpleLuminous.x)は、なるべく描画順の前の方にいれるようにとのことなので、今回は1番最初に入れるようにしましょう。もし後から軽量版と差し替えた場合は、[ツールバー > 背景 > アクセサリ編集]から、描画順を入れ替えることができます。

アクセサリ描画順変更手順
コントローラー操作

PowerShaderは入れただけでは光が強すぎるので、コントローラーで調整します。

Steps
  1. [モデル操作パネル]からPSContoller.pmxを読み込むか、ドラッグ&ドロップします。
  2. [ボーン操作パネル]の『選択』ボタンがオンになっていたら、クリックしてオフにします。
  3. [視点操作パネル]の『追従』をオンにします。
  4. [表情操作パネル]で下記の通りモーフを設定します。
    • [目]「ライト弱く」0.50 / 0.54(バストショット)
    • [リップ]「影強く」0.03
    • [リップ]「影青+」0.07
    • [リップ]「影青+」0.16
    • [まゆ]「フォグ赤+」0.44
    • [まゆ]「フォグ緑+」0.09
    • [まゆ]「フォグでやすさ」0.91
  5. ショートカットキーHでモーフを一括登録し、表情のキーフレームが赤くなったことを確認します。
  6. [カメラモード]の照明操作パネルで照明色を下記の通り変更し登録します。
    • [赤]151 / [緑]133 / [青]104
PowerShaderのコントローラー操作手順

バストショット使用時は、タイムラインを1フレーム進めてから同様に設定します。ただし、「ライト弱く」の値が0.50だと、まだ若干明るすぎたので、0.54で設定します。また、照明色をエフェクト適用値に合せて修正します。照明は0フレームと1フレームにそれぞれキーフレームが打ってるあるので、忘れずに両方再登録しましょう。

エフェクト調整中は、視点の追従をオンにしておかないと、照明やセルフシャドウの設定がモデルモード時のプレビュー画面に反映されないので、視点の追従をオンにします。またボーン操作の選択がオンになっていると、同様に照明とセルフシャドウが正しく描写されないので、こちらはオフにします。

空気遠近法について

モーフの設定値について少し補足すると、影色を変えたことについては単純に私の好みです。映画でよく使用されるカラーグレーディング(色彩補正)の『ティール&オレンジ』という、暗部に肌の色の補色となる青緑にあて、肌の色を際立たせる彩色です。

またフォグ機能を利用して赤みの強めのフォグ(霧)を出現させました。今回は遠景のあるカットではないのでちょっと効果の範囲が微妙になってしまいましたが、これは最初にあげたコンセプトの1つ、「空気遠近」です。

空気遠近とは、「遠くのものは白く霞んで見えて、近くのものは鮮やかに見える」という大気の性質を利用した空間表現技法の1つです。これにより静止画という平面上の画像に奥行をプラスした3次元的な空間を表すことができます。本来は遠景で非常に有効な手法ですが、近景でも被写体と背景の境界をはっきりさせることで、より被写体を目立たせることができます。

空気遠近を用いた近景ポートレート

背景が白く霞むことで、モデルが浮き上がって見える

MMDでは空気遠近エフェクトも別にありますが、今回はなるべく汎用的なスペックで出来る表現をということで、PowerShaderのフォグ機能で代用しました。ただPowerShaderのフォグ機能はあくまでシェーダーの付随機能ですので、フォグ単体を細かくコントロールすることはできません。なので私は普段はikenoさんが配布されているikPostFogというエフェクトを使っています。

ちなみに、このフォグでモデルを目立たせるという手法は、Disneyの「アナと雪の女王2」でも用いられている手法らしいです。『世界で一番受けたい授業』かなんかでやってました。

これでPowerShaderでの設定は以上です。保存して次のエフェクトに移りましょう。

Point!
  • エフェクト設定時は情報表示機能を使い、再生fpsでPCの負荷を見ながらやる。
  • エフェクト調整時は、視点の追従をオンにし、モデルモードでのボーン選択をオフにする。

msPowerOverlay

msPowerOverlayはましましさんが配布されているコントローラー付きポストエフェクトです。現在までに描写されている(msPowerOverlay適用前のプレビュー)内容に、ぼかしをかけた上でオーバーレイモードで重ねる、自己オーバーレイです。オーバーレイに関する詳しい説明は省きますが、効果としては色彩コントラストが高くなることで全体的に色鮮やかに見えるようになります。msPowerOverlayではそこにボカシが加わっているので、より柔らかに色が拡散します。

Steps
  1. [アクセサリ操作パネル]からmsPowerOverlay.xを読み込むか、ドラッグ&ドロップします。
  2. [モデル操作パネル]からmsPowerOverlayController.pmxを読み込むか、ドラッグ&ドロップします。
  3. [ボーン操作パネル]の『選択』ボタンがオンになっていたら、クリックしてオフにします。
  4. [表情操作パネル]で下記の通りモーフを設定します。
    • [まゆ]透明度0.76
  5. 登録ボタンを押すかショートカットキーHでモーフを登録し、表情のキーフレームが赤くなったことを確認します。
msPowerOverlayの適用手順

LiteDOF

LiteDOFはakeruさんが配布されている被写界深度(Depth of Field)エフェクトです。現在の最新バージョンは「v3」(20/05/29現在)ですが、「v2」の方がテストモードがシンプルでわかりやすいので、あえて「v2」を使用しています。

今回のエフェクトのコンセプトの残る1つ、被写界深度は簡単に言えば「ピントの合う奥行きの範囲」のことです。「被写界深度の浅い画」とは、ピントの合う奥行きの範囲が狭く、「被写界深度の深い画」とは広く遠くまでピントが合う画のことを言います。

写真などではこの被写界深度を狭くすることによって、背景をぼかし被写体を浮き上がらせることによって、被写体の印象をより強くし、立体空間をより臨場的に表すことができます。LiteDOFはこの被写界深度をシンプルな操作でコントロール出来るエフェクトです。

ポストエフェクトの適用
Steps
  1. カメラモードにします。
  2. [アクセサリ操作パネル]からLiteDOF.xを読み込むか、ドラッグ&ドロップします。
  3. ドロップダウンからピントを合わせたいモデルと「眉ボーン」または「頭ボーン」を選択して、外部親に登録します。
  4. 3で頭ボーンを選択した場合、Z値に「-1」と入力するかaccessory操作モードにしてドラッグ操作で変更します。
  5. Si値に「1.2」と入力します。
  6. Enterを押すか登録ボタンで確定後、キーフレームが赤くなったことを確認します。
LiteDOFのポストエフェクト適用手順

アクセサリ/エフェクトにも外部親を指定することが出来る。

背景とモデルの靴がピンぼけしていればOKです。LiteDOFではピントを合せたいモデルを外部親として指定することで、ピントの合う範囲を追従させることができます。

コントローラー操作
Steps
  1. [モデル操作パネル]からLiteDOFCtrl.pnxを読み込むか、ドラッグ&ドロップします。
  2. [表情操作パネル]で各モーフを次のように設定します。
    • [その他]「テストモード」1
    • [目]「ピント距離-」0.07
    • [まゆ]「絞り」0.11
  3. 被写界深度を確認したら「テストモード」モーフを0にします。
  4. Hでモーフを一括登録後、キーフレームが赤くなったことを確認します。
LiteDOFのコントローラー操作手順

モーフのテストモードで被写界深度が確認できる

テストモードで画面全体がグレーアウトます。その中で青く塗りつぶされる範囲が「ピントボケ」起こす範囲です。今回は数値を指定しましたが、実際に自分で調整するときは、このテストモードで効果の範囲を確認しながら調整します。ただし、テストモードのままモーフを確定してしまうと、グレーアウトの画面のまま出力されてしまうので、調整が終わったら忘れずに0に戻しましょう。

続いてバストショットの被写界深度を調整します。

Steps
  1. [タイムライン]右カーソルでフレームを1進めます。
  2. [表情操作パネル]で各モーフを次のように設定します。
    • [その他]「テストモード」1
    • [目]「ピント距離-」0.05
    • [まゆ]「絞り」0.32
  3. 被写界深度を確認したら「テストモード」モーフを0にします。
  4. Hでモーフを一括登録後、キーフレームが赤くなったことを確認します。
LiteDOFのコントローラー操作手順2

カメラのレンズは望遠ほど被写界深度が浅く、広角になるほど深くなる性質があります。とりあえず難しければ「アップの時はピントの合う範囲を狭くする」と覚えておくといいでしょう。どのくらい狭くするかは好みによりますが、私は頭の奥半分がボケるくらい浅いのが好きですね。お顔にぐっと焦点がよるので、モデルに引き込まれるような画になります。

LiteDOFの調整はこれで完了です。保存します。

Point!
  • 被写界深度はアップの時ほど狭くする。
  • モーフのテストモードは、調整が終わったら0にする。

さて、お疲れさまでした。
これで予定していたエフェクトは全て適用完了です!fpsはどんな感じでしょうか?もしまだ余裕があるなら、お好みのエフェクトをのせてみるのもいいと思います。+αの個人的なオススメはikenoさんの「ikSunshaft」で右斜め上からの天使のはしごと呼ばれる光の筋を入れると、午後の柔らかい日差しが感じられると思います。あとはモデル改造になりますが、瞳のALモーフをいれてAutoLuminousで少しだけ発光させると、目力がアップします。

もしfpsが既に瀕死だけど+αしたいよって方は、グラフィックソフトでの加工で似たようなことができます。冒頭にお見せした昨今の作品は大体エフェクトにプラスして、グラフィックソフトで加工しています。左上の花火なんかは、加工ビフォーアフターで実は大分ちがったり...

レッタチBefore/After

言い訳をすると、カラグレの習作だったので、過去最大に加工した

個人的には特にどっちがいいということもなく、MMDでやった方が楽なことはエフェクトで、グラフィックソフトでやった方が楽そうなことは加工でという感じに作業を分けています。グラフィックソフトもフリーで高機能なGIMPなど多種あるので、色々試してみるとよいでしょう。