Toonを豪華にする

 
モデル:NecoMaid (fbx -> VRM変換)
アニメーション:ミライ小町(fbx -> humanoidリターゲット)

効果は限定的です

凹凸が複雑なモデルで、シンプルなライト環境 の場合に効果が出やすいです。

指定した色のみ が適用されます。ライトが利用できないため表現に制限があります。


Toon AO を使う

「Toon AO」という単語はVRM4Uが勝手に名付けているものです。一般名称ではありません。

AmbientOcculusionをToonの影色で塗ります。(一般的にはAOは黒色が合成されます)

下図に差異を並べました。 なおレイトレースでAOの精度を高くしています。

細かな凹凸に対して影色が入っています。AOで暗くなる箇所について閾値(MToonMaterialSystemで設定)をつけて影色を入れることができます。

AOなし Toon AO AO

Toon AO の作り方

AssetUtilでメッシュを選択し「CreateAOModel」ボタンを押します。 新しくメッシュが生成されます。末尾に「_AOShadowMesh」という名前がついています。

通常メッシュとAOShadowMeshを同一座標に配置したら完成です。 AOを調整して影色の変化を見ましょう。

通常MeshとAOShadowMesh並べたもの 2つを重ねたら完成

VRMCharacterBaseからも利用することができます。以下のようにAOShadowModelをセットして、チェックボックスをONにしてください。 ただ注意点がありPlay中のみ表示されます。Previewでは確認できません。

 

2号影の設定(テスト実装)

マテリアルで2号影を指定することが出来ます。

扱いにくいです。テスト実装です。 なおカラーRGBAのうちの、Aで色相が変わります。

 

Toon AOの仕組み解説、2号影の実装(余談)

ここは読み飛ばしてもらって構いません。開発者が語りたいだけのコーナーです。

Toon AOの仕組み

Meshを2回描画しています。1回目(通常Mesh)は不透明、2回目(AOShadowMesh)は半透明です。

1回目の描画はAO計算用です。 2回目の描画ではAOのバッファを参照し、影色の判定を行っています。 UE4ってこんなことができるんですね。

2号影のテスト実装について

開発者の美的センスが足りないため、調整の勘所がわかりません。 何かを会得したらパラメータを変更するかもしれません。