巨大娘の空気遠近の合成モードは比較(明)が便利かも?
巨大娘のイラストには空気遠近を入れたくなりますよね。
空気遠近を入れるのは結構簡単で、空のレイヤーをコピーしてキャラの上にクリッピングして被せてやればOKです。

大気は上空に行くほど薄くなるので、空気遠近は下層のほうが強く、上空に行くほど弱まります。よって、空気遠近レイヤーも上に行くほど薄くしておくとそれっぽくなります。
ところで、空気遠近レイヤーの合成モードは何にすべきでしょうか?
私は今まで 通常 をよく使っていたのですが、最近は 比較(明) のほうがよいのではと思ってきました。ということでこの記事では空気遠近レイヤーの合成モードを変えて比較してみたいと思います。
空気遠近なし
今回サンプルとして以下のイラストを使います。これは空気遠近レイヤーを非表示にした状態です。

好みによってはこの状態がベストと感じるかもしれませんが、個人的には空気遠近は入れたいです。
合成モード: 通常

「通常」で空気遠近のレイヤーを重ねるとこんな感じになります(左側の画像は空気遠近なしの画像を再掲したものです)。
リアルな空気遠近に近い合成方法なので悪くはないのですが、ハイライトが白から明るい水色にシフトしてしまっているのが微妙なのと、彩度が大きく下がることで肌の印象が弱まってしまっている気がします。特に SNS では彩度が低いと絵をスルーされやすい気がするので、肌の彩度はある程度キープしたいです。
合成モード: ハードライト

ハードライトで合成するとこんな感じです。「通常」と比べると肌の彩度が残ってていい感じに見えます。しかし全体的に白くなってしまって空気遠近っぽさはなくなってしまいました。
合成モード: 比較(明)

さて、本題の比較(明)です。こんな感じになります。
比較(明)で嬉しいのは以下の二点です:
- 肌の彩度があまり失われていない
- 影の色が水色に寄るのでそれなりに空気遠近感が出てると思う(主観)
リアルではないですが、イラスト的には都合がよいのではないでしょうか。
また、比較(明)は細かい調整をしやすいのも利点です。色調補正で空気遠近レイヤーの明るさを変えることで、どれぐらいの明るさから空気遠近が掛かりはじめるか変えることができます。これにより影の部分には空気遠近が乗り、明るい部分にはあまり空気遠近が乗らないようにすると良い感じになる気がします。
(この記事書いてて思ったのですが、もうちょっと空気遠近レイヤーの彩度を上げてもよかったかもしれません)
合成モード: オーバーレイ・スクリーン

ついでによく使われてそうなオーバーレイとスクリーンも貼っておきます。真ん中がオーバーレイで右がスクリーンです。
オーバーレイによる空気遠近は色が変わりすぎて自分には扱えそうにありません。スクリーンは雰囲気はあるのですが、あまり空気遠近っぽくない気がします。
MMD だと
3DCG は空気遠近がとても得意です。コンピューターの場合、1ピクセルごとにレイリー散乱を計算して正確に描写できるからです。私は以下の画像の空気感がとても好きなのですが、イラストで再現しようとしてもうまくいきません。いつの日かこれぐらいの空気遠近を描けるようになりたいなぁ。

巨大娘を見上げる構図のときは嘘パースが便利
この記事は以下のイラストを描くときに考えていたことのメモです。

真ん中のコマのように、巨大娘をビルの谷間から見上げる構図を描くときはパースが重要だと感じています。パースをある程度正しく描くとそれだけで立体感を出すことができますし、ビルの立体感はその背後にいる少女の巨大感に繋がるからです。
しかし、ビルのパースを普通の一点透視図法で取ってしまうと、空の面積が小さくなりがちです。空が狭いことはすなわち巨大娘を描くスペースが狭いということなので困ってしまいます。巨大娘のイラストなのだから巨大娘を描くための面積を広く取りたいですよね!
そこで嘘パースを使います。
実は、このコマは以下のように左側と右側で消失点が違います。このようにするとビルが通常よりも左右に寄り、真ん中の空間を広く確保できます。

これで空を広く取ることができ、巨大娘をより大きく描くことができます。やったね!
【MMD】巨大娘を巨大にみせる空気遠近エフェクトの使い方
巨大娘お尻見上げ画像を作りながら空気遠近エフェクトの使い方を紹介していきます。
レシピ
- 紅美鈴Ver2.00 Rev.B
- 街モブ
- 空色町ver1.52
- スカイドーム(優しい輝きの空) VOL.TP4
- お手軽空気遠近エフェクト
- pmotskin高速起動版
- PowerDOF
- ExcellentShadow2
モデルのサイズを変更
まず、100倍のサイズの美鈴を作ります。
- 『紅美鈴Ver2.00(ダンス水着-南半球な水着ハーフバックポニテハイヒールサンダル)_MMD904以降専用』を PmxEditor で開く
- 編集 → プラグイン → System → サイズ変更 でサイズを 100 倍にする
- PmxView のウィンドウにある T ボタンを押し、出てきたウィンドウをすぐ閉じる
- ファイル → 名前をつけて保存
街と空を読み込み
- 空色町を読み込んで、Si を 0.05 に設定
- スカイドームを読み込む
モデルを読み込み
- 100倍美鈴を読み込む
- エッジ太さを 0 に
- ポーズとカメラを決める
とりあえずこんな感じにしました。前景がほしいので電信柱のある場所にしています。
この状態では遠近感はそんなにありません。

スキンシェーダ
陰影が欲しいので d_pmotskin を以下のように割り当てます。

すると以下のようになります。お尻に陰影が強くつくので迫力が増しましたね!

空気遠近
素の状態の空気遠近エフェクトは距離感をパラメータで指定できません。 巨大娘画像を作るには距離感の指定が必要不可欠なのでエフェクトを改造して組み込んでしまいます。
FogOffScreen.fx をテキストエディタで開き、以下の箇所にコードを追加します。
// パラメーター // // ↓↓↓ これを追加 ↓↓↓ static float DistanceScaleFactor = (X == 0) ? 1.0 : X; // ↑↑↑ 追加ここまで ↑↑↑ // フォグの底(デフォルトは0) // 底より下は見えない float BottomFog = 0; // 滑らかさ // 大きいほど変化がなだらかになる。 // Xが手前、Yが奥 // デフォルトは(X,Y)=(1,2); // (X,Y)=(1,1)で変化が直線になる。 float2 FogParam = {1.0, 2.0}; // 透過度以下を切り捨て #define CLIP_ALPHA 0.1
また、同じファイルの In.PosW.w = distance(In.PosW.xyz,CameraPosition); と書いてある行を In.PosW.w = distance(In.PosW.xyz,CameraPosition) * DistanceScaleFactor; に置き換えます(2箇所あるので注意してください)
これで改造は終わりです。X パラメータで距離倍率を指定できます。例えば X に 5 を指定すると通常時の 5 倍の距離として空気遠近が計算されます。
改造した空気遠近青を読み込み、X を 4 に、Si を 0.5 に設定します。 また、このままだとスカイドームにまで空気遠近が適用されてしまうので、エフェクトファイル割り当ての texFog のタブで Dome_TP401.x のチェックを外しておきます。
この時点でこんな感じの画像になっています。距離感が出てますよね!

ExcellentShadow2
影を綺麗にするために ExcellentShadow2 を入れます。 この画像だと大して変化がありませんが、場合によってはかなり効きます。
影がギザギザになる場合は Si を大きくすればいいです。 今回は Si に 10 を指定します。
また、Tr の値を小さくすると影が濃くなります。 が、d_pmotskin を使っている場合は残念ながら濃くなりません。
PowerDOF
前景をぼかすために PowerDOF と PDOF_AutoFocus を入れます。 そのままだとぼかしが強すぎるので、Si に 0.1 を指定します。
逃げてる人
前景に人を配置すると絶望感が出てよいです。
美鈴を100倍にしたのと同じ方法で20分の1の男性モブを作り、それっぽいポーズを作って配置します。

仕上げ
このままだと空が寂しいので瓦礫を撒いたり煙を入れたりヘリを飛ばしたりといろいろやっていきます。 これらの作業を書いているといつまでたっても記事が終わらないのでバッサリ省略します。
以下が Twitter に投稿した画像です。お尻の影の付き方がちょっと変わっていますが、これは d_pmotskin を改造して影を濃くしているからです。d_pmotskin の改造は結構大変なので機会があれば別の記事で紹介しようと思います。

以上です。