【Unity】法線焼き込みをしたメッシュで綺麗なアウトラインを出す方法【lilToon】
lilToonにて、法線焼き込みをしたまま綺麗にアウトラインを出すメモ。
・法線焼き込みをすることで影の制御ができる
・しかし法線方向にアウトラインが出ないので思った通りのアウトラインが出ない
・lilOutlineUtilというツールを使って、法線情報を頂点カラーに焼きこむ
・結果、法線による影の制御と綺麗なアウトラインが両立する。
下の画像はちょっとわかりずらいが、口元のアウトラインを見るとわかりやすい。
ツールのダウンロードはこちら
まず、法線を編集してあるモデル(FBX)と、法線がリセットしてあるモデルを用意する。
(Unity内でFBXをコピーしてリセットしたものでもいけます。今回は一部法線転写したものを残したかったので別FBXで書き出しました)
ちなみに法線のリセットの仕方はAlt+Nで出てくるウィンドウから「ベクトルをリセット」
購入者さんの改変はこちらから読んでください
lilToonのマテリアル設定から
「輪郭線設定」→「頂点カラー」→「RGBW → Normal & Width」に変更しておく
上のメニューから「Window」「_lil」 「Outline Util」と進みウィンドウを出す
輪郭線を正しく出したいアバターをドラッグする
焼きこみたいメッシュ名にチェックを入れ、「外部メッシュの参照」を選択
法線がリセットされてあるメッシュを読み込む。
一番下の「生成&テスト」ボタンを押し、「Complete!」ウィンドウが出たら成功。
もし出ない場合はエラーが出ている可能性がある。
Consoleを確認するべし。
Inspecterの中にコピーとして生成されているはず。
表示させて結果を確認。
結果が良ければ「保存」ボタンを押す。押さないと消える。
エラーでつまったところ
メッシュの中にどの頂点にも適応させてないマテリアルが存在し、そのマテリアルにlilOutlineUtilで書き込もうとした場合エラーになる。
使ってないマテリアルは消しましょう。