自由変形が可能なテクスチャの実装。(QuadWarp)

概要

セガサターンのテクスチャみたいに、自由変形が可能なテクスチャをUnity上に実装する。

Unity(というより現行のアーキテクチャ)では、三角形を2枚張り合わせてポリゴンとしているため、テクスチャを引き伸ばすと、三角形2枚を引き伸ばす形になるため、テクスチャが歪になる。

これを防ぐために計算を追加してテクスチャ座標を補正した上で頂点を引き延ばせば、テクスチャの歪みを防ぐことができる。

実装

QuadWarp用の射影変換(ホモグラフィ)行列の導出 #Unity – Qiita

利用用途・導入計画

このQuadWarpを実装すればスプライトの自由変形が実装できる。

ただ細かいスプライト全部にって形だと行列変換のコストがかかるため、大きなボスとかを2Dで作る場合、一部のテクスチャに反映するのが良さそう。

もしくは三角形で実装するか。(モデリング等形状がかわらないのであれば三角形でいい)