Onoty3D

Unityに関するメモとか

ToonLit ShaderにPhong Tessellation機能を追加する。

f:id:onoty3d:20161006205756g:plain

Phong Tessellationとはなんぞや?って人はまず公式のリファレンスを見てみてください。

docs.unity3d.com

これをToonShaderで実現するには、既存のコードにリファレンスを参考にPhong Tessellationに必要な記述を移植します。
それだけ~。

…で、終わらせたかったんですが、OutLineが上手くいかなかったんです。
標準のToonShaderではOutLineは頂点とフラグメントシェーダで記述されているんですが、そこで上手く書くやり方がわからぬ。

いろいろ錯誤してみたんですが、全て徒労に終わりました。

ググったら同じように悩んでいる人を発見しましたが、この人は最終的にSurfaceシェーダでアウトラインも書くことで解決していました。

community.unity.com

というわけで自分も同じ感じの実装にしました。
ただし元々のToonLit ShaderのOutLineは透過が可能なので、その機能も追加しています。

Unity5.3-5.4で動きます。

TessellationToon

 

ちなみに画像はクエリちゃんです。

クエリちゃん公式サイト

f:id:onoty3d:20161006210504p:plain