以下は、Unreal Engineにおけるアウトラインの作成方法についての説明と分析です。
背面法とポストプロセス法のアウトラインの簡単な作成方法
- 背面法:
- ポストプロセス法:
背面法とポストプロセス法の特徴比較
- 実装の容易さ
- 背面法:比較的簡単。
- ポストプロセス法:計算が複雑で、カスタムステンシルを利用する場合はさらに複雑に。
- 設定の容易さ
- 背面法: 数によって変わる。一々アクターにオーバーレイマテリアルを設定する必要あるから。
- ポストプロセス法:易い。カメラに設定するだけ。ただし、カスタムステンシルを利用する場合、アクターごとの設定が必要。
- アウトラインの描画範囲
- 背面法: アクターの外周のみ。
- ポストプロセス法:アクターの内側に描画しやすい。アクターの外周も描画可能ですが、外周の半透明とのブレンドが難点。
- パフォーマンス
- 背面法:適用アクター数に依存し、全画面適用には向かない。
- ポストプロセス法:全画面適用に適するが、カスタムステンシルの処理を多用でパフォーマンス低下。
- アクターごとの色設定
- 背面法:マテリアルインスタンスで対応可能。
- ポストプロセス法:難しい。カスタムステンシルで実現可能だが、負荷が高くなる。
- 太いアウトライン
- 背面法:簡単に実現可能。
- ポストプロセス法:難しい。アウトラインが太いほどの見た目は荒くなるから、サンプル数増加が必要で、計算コストが高い。サンプル数を増やすについではSobelやLaplacianフィルタを調査推奨。
- パラメータカスタマイズ
- 背面法:自由度が高く、さらにメッシュの頂点色を用いた細かな制御が可能。
- ポストプロセス法:全体で同一のパラメータ。但しカスタムステンシルで一部を変更可能。太さの精密調整が難しい。
- 画面解像度の依存性
- 背面法:解像度によって太さが変化し、比率を維持。
- ポストプロセス法:解像度に依存しないので、解像度ごとに適切な設定が難しい。
- ローポリモデル・ハードエッジ対応
- 手前の半透明オブジェクトの表現
- ディザ抜き・ディゾルブ演出への対応
- マイナススケールのアクターの対応
- 背面法:難しい。マイナスのスケールによって、逆に正面が表示される問題があり。逆転したマテリアルで対応が必要。
- ポストプロセス法:問題なく対応可能。
- 両面マテリアル
- 背面法:対応不可。メッシュの縁のノーマル修正が難しいため。
- ポストプロセス法:対応可能。
結論
- それぞれの手法には向き不向きがあります。
- キャラクターのみのアウトライン:背面法が最適。
- 全画面アウトライン: ポストプロセス法が適する。
- 両方を運用する際に、おすすめ組み合わせ:
- キャラクター: 背面法
- 背景:ポストプロセス法