テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

UnityのTessellationを使って色々してみる

テッセレーションは、ポリゴンをより細かく分割する方法…だそうです。この機能を利用することで、4頂点の板ポリに凹凸を追加したり、ローポリで作成したメッシュを少しスムーズに設定することができます。

f:id:tsubaki_t1:20150712225433p:plain

f:id:tsubaki_t1:20150712231557p:plain

Tessellationを使用して板ポリに凹凸を表現してみました。NormalmapやHightmapと異なり、実際に凹凸が表現されています。で、実際に凹凸が表現された事で、横から見られても違和感なく見れるようになります。

f:id:tsubaki_t1:20150712231752p:plain

f:id:tsubaki_t1:20150712231759p:plain

SDユニティちゃん(可愛い)にTessellationのPhongを使用してスムーズにします。ポリゴンのカクカクが少しスムーズになっています(距離が離れるとポリゴンが減ります)

Tessellation

サーフェイスシェーダーと DX11 テッセレーションを参考にすれば作れますが、すでに既存の物があるので使います。

StandardAssetsのEffectをインポートします。メニューのAssets > ImportPackage>Effect からインポート出来ます。この中にTessellation>Bampmupd Specularシェーダーがあるので、それを使用します。Smoothはメッシュをスムーズに、displacementは凹凸を表現するのに使えます。

f:id:tsubaki_t1:20150712232721p:plain

DX11 Tessellation PBS

Unityに同梱されているものはPBSに対応していないのですが、ちゃんと対応しているアセットがありました。

DirectX11専用の機能でしたが、UnityがOpenGLES3.1に対応したことで今後はAndroidバイスでも使用出来るようになるかもしれません。