こんにちは。ごろぉです | |
こんにちはー 比芦美沙(ひろ はずな)でーす | |
初めての作業所活動は、『画像の独自な形式での保存』です。 | |
独自な形式って? | |
ふむ。はずな、お前の知っている画像形式を列挙してみろ | |
…画像形式って? | |
だからぁ、拡張子…あー、ええと…画像ファイルの"."以降の3、4文字の文字を言ってってみ | |
えっと…"bmp"、"jpg"、"gif"、"png"、"tif"…くらいかなぁ | |
ふむ。そんだけ分かれば十分だ | |
最初の話題に戻るが、独自な形式とは、それらに含まれない全く新しい画像形式のことだ | |
ということは、ペイントとかじゃ見れないし、描けないの? | |
そのとおり | |
…それって何か意味あるの? | |
ある。と思う。何に意味があるかなんて見た人の価値観だ | |
そういうものなの? | |
ものなの。 | |
で、どんな感じの画像形式を作るの? | |
とりあえず今回はゲームに使えそうな画像形式を考える | |
どんなジャンルのゲーム? | |
今回は、 |
|
へぇー… | |
それで、ただ保存するだけじゃつまらないから、『画像圧縮』もしてみようか | |
圧縮? | |
ああ。どうしてもノベル系のゲームは画像のサイズが多くなるからな。容量は少ない事にこしたことは無いし | |
で、実際にはどうするの? | |
そうだなぁ…はずな、ノベルゲームで一番数が多い画像は何だと思う? | |
ええと、う〜ん…背景かなぁ | |
うむ。確かに背景画像も多いが、一般的に立ち絵が一番多いことになっている | |
立ち絵? | |
ああ。背景の画像の上にキャラクターが表示されるあれな | |
うん。それは分かるよ | |
今回は立ち絵の圧縮について考えてみるぞ? | |
はーい | |
まず、立ち絵だから、『可逆圧縮』でいこうな | |
えっと、確か『完全に元に戻せる』圧縮方法の事だよね? | |
おお、分かってるじゃないか…それと、最近はフルカラーが主流だから、減色はしないようにしたいな | |
ふんふん。それで? | |
圧縮画像の定義としてはその辺だろう。表示するだけだからあまり特殊な機能もいらないし | |
でも、可逆でフルカラーって、他にどんな圧縮方法があるの? | |
代表的なものに『ランレングス法』が挙げられるな。 | |
画像を横または縦にスキャンして、連続した色が幾つあるか記録していく方法だ | |
ただ、これだと単純な画像は高い圧縮をする事が出来るが、複雑な画像だと逆にサイズが増えてしまうんだ | |
駄目じゃん | |
…まぁな。他にも幾つかの方法があるが…ど忘れしたので省略する | |
…駄目じゃん | |
さて、それでは今回使う圧縮法だが…立ち絵の特徴は? | |
え?う、う〜んと…切り抜かれてるみたいにキャラクターの周りは背景のままだよね | |
そう。通常、画像は長方形がだが、ゲーム等ではキャラクターの周囲は透過している | |
これは、『スプライト』といってキャラクター画像の周囲を一つの色で塗り潰し、その色を透明色として描画するわけだ | |
うん。それでキャラクターが背景に溶け込んでいるように見えるんだよね | |
そのとおり。それで、先にも言ったとおりキャラクターの周囲は一つの色で塗り潰されているわけだから、そこの部分を綺麗さっぱり取り除いて、透明色以外の色のみ記録する方法を使用してみる | |
うん?良く解らないよ? | |
まぁ、こんな感じだ | |
■■■■■■■■■■ ■■■■■■■■■■ ■■■■■■■■■■ ■■■■■■■■■■ ■■■■■■■■■■ 透明色を■に設定↓ ■■■■■■■■■■■■■■■■■■■■■■■■■■ |
|
これで、画像自体は約半分になる | |
半分!思ってたより凄いねぇ | |
しかしながら、背景色を飛ばした位置とかを記録しとかないと復元できないから、全体としてみるとあまり小さくならないんだ。 | |
それに、この方法も複雑な画像に対してはあまり効果ないし | |
う〜ん。都合よくは行かないねぇ | |
まぁあれだ。塵も積もればなんとやら。少しずつ減らせば何時しか大規模な圧縮に繋がるさ | |
それから、この形式は、背景色をあらかじめ抜いてあるので、スプライト処理も結構楽に出来るぞ | |
え、そうなの? | |
ああ。通常スプライト処理は、『マスク画像』という切り抜き画像を作らなければならないが、これにはその必要が無い | |
へぇ…良く解らないけど便利なんだ? | |
…と思う | |
さて、今回作った画像形式の特徴をまとめるとしよう | |
●可逆圧縮である ●フルカラー対応 ●背景透過が出来る |
|
ねぇ、これ見て思ったんだけどさ | |
何だ? | |
PNG圧縮の方が何十倍優れてるのかな…? | |
…言うな | |