2015年8月1日土曜日

生成したスプライ画像がでかすぎるので・・・


ほぼ3Dで表示できるスプライト画像生成プログラムを作成してみました。




生成画像の1ファイル[393kb]





















プログラムを作成後、生成した(あらゆる方向からの)
スプライ画像のファイルサイズがでかすぎるので・・・
検証したところGIF画像出力であれば、ファイルサイズが小さいことがわかり
GIFを出力できるようにと考えました。
unity標準では、はきだせないようなので
アセットストアからGIFをはきだせそうな(なるべくdll使用じゃないやつ)ものを
探して購入しましたが、残念ながらそのままでは透過GIF出力が
できなかった為、GIFフォーマットを記述してあるサイト等をみて
修正変更しました。(簡単だと思っていましたが、まあ結構苦労しましたWWW)




GIF出力[156kb]






















GIFではきだしたところファイルサイズは、小さくなりましたが、
いくつか気に入らないところがあります。
拡大するとわかるのですが、一つはキャラの目(光具合)が適切でないとかんじました。


次にpngquantを試してみました。
まず、Parallels Desktop上のWindows8でバイナリー版を試したところ結構いいかんじで出力できました。
そこで、mac環境に構築することにしました。


brewインストール
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


libpngインストール
$ brew install libpng
==> Downloading https://homebrew.bintray.com/bottles/libpng-1.6.18.yosemite.bottle.tar.gz
^R
######################################################################## 100.0%
==> Pouring libpng-1.6.18.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/libpng/1.6.18: 17 files, 1.2M

pngquantインストール
$ brew install pngquant
==> Downloading https://homebrew.bintray.com/bottles/pngquant-2.5.0.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pngquant-2.5.0.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/pngquant/2.5.0: 6 files, 100K

ビールマークがなかなか洒落てます。




変換1[83kb]
$ pngquant  091_000.png





変換2[51kb]
$ pngquant --quality=10-50 091_000.png























変換してみたところいいかんじにファイルサイズが小さくなりました。






後日、使用予定キャラクターのアニメーションを全て対象としスプライト画像生成プログラム実行したところ、ほぼ2日かかりました。

開始日時:8/2 6:25
終了日時:8/4 7:58
スプライトファイル数:10万程度


その後、以下で一括変換しとところほぼ半日かかりました。

find . -name '*.png' -exec pngquant --ext .png --force 256 {} \;


ファイルサイズは、4分の1程度になりました。
全ての画像をチェックしたわけでないのですが概ね納得いくクオリティに思えました。
現在のところ開発中のアプリ内で使用していく方向で考えています。






0 件のコメント:

コメントを投稿