はじめに テッセレーションを行うと、ポリゴンの分割数を増やしてより滑らかな曲面を作成できたり、分割された頂点をテクスチャを参照して直接盛り上げたり(ディスプレースメントマッピング)出来ます。ただ、分割数を増やすにはそれなりのコストがかかるので、分割数を増やすのは必要なときのみにしたいところです。その一つの方法として、距離に応じて分割数を変化させることを考えてみたいと思います。 今のところ Windows など一部のプラットフォーム限定ですが、Unity でテッセレーションを行いたい場合は以下のドキュメントを参考にすると簡単にできます。そして距離に応じたテッセレーションは組み込み関数として用意されていて、 UnityDistanceBasedTess() を呼ぶことで簡単に実現できます。 Unity - マニュアル: DX11 / OpenGL コアテッセレーションのサーフェースシェーダー