Unity Visual Compositorで特定の部位にアウトラインをつける
いわゆるポストプロセスのライン引き。Visual Compositorがあることでノーコードで色々出来るようになった大変ありがたい。
現在のモデルは法線を弄っている関係で、綺麗な線が出せない。特に髪。
なので、ポストプロセスも利用して線を追加で引く。
公式の実装を見てみる
部位ごとに深度を調整してマスクしている。前髪、サイドは基本的に必ずアウトラインが出るようにして、それ以外はある程度の掘りがあればアウトラインを描くようにアウトラインの出やすさを調整しているみたい。
デメリットとしては、カメラから引きすぎたりするとアウトラインが壊れる。
まぁ基本問題はないと思うけど、気になる人は気になるかも。
セレクショングループカラーレンダーノードで抜き出す
このまま実装しようかなと思ったんだけど、カメラから見たセレクショングループに収めたオブジェクトに色付けするそのものずばりなノードを見つけたので、これを利用しようと思う。
今回前髪とサイドの髪のアウトラインをつけて欲しかったので、これでお願いする。
抜き出せた。色を指定できるので、白にする。マスクにできるので。
線ごとに色付けして視覚的にわかりやすくして調整していく。
調整が終わったら線の色を白にする。
線描写部分をsize x2で描写してなめらかにする
アンチエイリスと同じ効果が期待できるらしい。線画部分を全体的にsize x2にして最後に戻すことで、線をなめらかにすることが出来る。
ブラーをかけた色を線に乗せて色トレス風にする
ブラーノードで全体をボカした後、マスクして線に乗せることで、いわゆる色トレスのような状態になる。
グローで潰れがちなアウトラインも、別で作っているので綺麗に出せている。
満足。
良い感じにアウトラインが出せたと思う。