2015年1月15日木曜日

【Unity】ドット絵がぼやけて表示される【Android】

アンドロイドでビルドランするとドット絵素材がぼけて表示されてしまう。

ぼけぼけです。というわけで今回はその対策について少し調べてみました。

画像のインスペクターの Format を Compressed から Truecolor に変えると直るという情報を得たのでやってみました。

…が、直りませんでした。

XperiaA2の解像度はHD : 1280×720 なので 16×16 のウサギは小さすぎるのでは?と思いサイズを10倍にしたところきれいに表示されました。

真ん中にいるちょっときれいなウサギだけ160×160のウサギです。
拡大はMicrosoftのペイントを、透過処理はEDGEを使いました。
ちなみに160×160のウサギの Format を Compressed、Truecolorと変えてみましたが大きな違いは見られませんでした。

それから 64×64 の2Dドットユニティちゃんも試してみたんですが微妙にぼやけました。
スマホできれいに表示するにはけっこう大きいサイズにする必要があるみたいです。

PCのエディタ上ではさほど気にならないんですけどね…。でも比較するとエディタ上でも違いますね。元サイズが大きい画像の方がやはりきれいに映ります。


うーん…でも16×16の画像をきれいに映す方法はあるんじゃないかなぁ…



<追記>
某所で有益な情報を教えて頂きました。

素材のインスペクタにある Filter Mode を Point に変更するとテクスチャ補完が線形補完から近傍点になってドットの滲みは解消できる。
ただ、表示座標がきっちり液晶のピクセルの座標になっていないと波打つように伸縮するので注意。

…ということでしたのでやってみました。
左:16×16 FilterMode Point
右:160×160 FilterMode Bilinear

拡大。中間色が全くありません。若干色味が明るくなっているような…

Sceneビューでの表示がPersepectiveなのでカメラから見てオブジェクトが少し斜めになっています。その結果ドットが少し荒れています。

実機に落とし込んでみます。

滲みは全くありませんでした。ぼやけてないです。
ただやはり元画像が小さいとダメなようです。


FilterMode Point はピクセルを使った表現をする場合とても使えそうです。
ピクセルをキッカリ描画できる。これは利点です。
ただオブジェクトが斜めに傾いていたり0.5ピクセルずれが起こるとドット絵が荒れるので、描画するスクリーンの大きさがあらかじめ決まっている、もしくは指定できる環境でのみ力を発揮するのではないかと思われます。

0 件のコメント:

コメントを投稿