3Dモデルの輪郭線生成に関する論文リサーチ
Unityで3Dモデルにセルルックな輪郭線をつけたい 既存シェーダはいくつかあるが、なんかすごい新鮮はない
国内
手法
シェーダの1パス目で法線方向にモデルを拡大したもので塗りつぶす手法
この手法の問題点として、閉じていないメッシュは輪郭が表示されないという致命的な問題がある
正面から見たPlaneには上下左右の法線がないので、太らせられない
反転ポリゴン押し出し法で問題になる鋭い頂点の問題の解決手法
1. モデルのmesh rendererをコピーして、outline用のメッシュを作成
2. outline用メッシュの頂点の法線を、平均したものにする
3. outlineシェーダで描画
この方法はすぐに思いついたが、ランタイムでメッシュレンダラを複製するのにちょっと抵抗がある
モデル自体にこのメタデータを埋め込めないものか?
keroxp.iconの手法2017/10/14
Unity Editorのオブジェクト選択時のアウトラインは理想的だ。どうやってるの?という問いに中の人が答えてくれたスレ
普通の反転ポリゴン法
頂点カラーで強弱を制御するという一般的な手法
Blenderで輪郭線を描く方法をまとめたサイト
Unityではないが、理論的にはUnityでも再現できる