テラシュールブログ

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

テクスチャの誤差拡散をUnityのみで行う unity-dither4444

Unityのテクスチャを32bit(true color)から16bit colorに変更すると、盛大に見た目が悪くなる。それを何とかするにはフルカラーなテクスチャを16ビットに減色で紹介したようにディザリングするのが手っ取り早い。

で、その手順を自動化出来るアセットが出現した。

Unity で高品質な減色を実現する

Unity ではテクスチャ画像のフォーマットに 16 bit color を指定すると単純なビットシフトによる減色が行われますが、これは画質の大きな劣化を招きます。この文書では、ディザリングアルゴリズムを使ってこれを改善する方法を紹介します。

ちなみにディザリングのアルゴリズム Floyd-Steinberg のディザリングアルゴリズムを使ってるらしい。オープンソースなので判る人はより良いアルゴリズムでフォークして欲しいとの事。


使い方は簡単で、末尾がDitherとなっている画像をインポートする際、自動でディザリングをかけてくれる。もし既にファイルが入っている場合は、Reimportする。