★☆ キャラ制作奮闘記 ☆★
(2001.01.09)
パレットについての考察
やはり、リョウの制作がのってしまうと記事が書けなくなりますなぁ^-^;
・・・と、いきなり言い訳から入っちゃいましたが、今回はパレットについて書いてみようかなと。
「M.U.G.E.Nで使用するキャラグラフィックはパレットを統一する必要がある。」なんて、以前の日記にも何度か書いたが、「実際問題、どういう意味やねん?」って方が多いみたい。
なので、今回はそこら辺の話をちょっと詳しく書こうと思うわけ。
前置きが長くなった。^-^;
そもそもグラフィックってのは、どういう形でデータ化されているのか。
その辺りから概念的にでも理解しておく必要はあるでしょう。
キーワードは「インデックス・カラーモード」
ビットマップに代表される通常のグラフィックデータは、「RGBカラーモード」になっている(と、思いねぇ^-^;)。
そのデータ格納イメージとしては、図の様になる。
紫 | 紫 | 紫 | 紫 |
紫 | 赤 | 黄 | 黄 |
紫 | 白 | 赤 | 紫 |
紫 | 紫 | 紫 | 赤 |
実際のデータフォーマットは必ずしもこうではない。
話をわかりやすくするため、イメージとして捉えてもらいたい。
それはさておき、結局のところ、各ドットが何色なのかというベタデータとして持っている訳だ(と、思いねぇ^-^;)。
これだと、複数の画像間でパレット情報の統一をしようにも、方法がないことが解ってもらえるだろうか。
さて、これが「インデックス・カラーモード」になるとどうなるかというと、
255 | 255 | 255 | 255 |
255 | 12 | 0 | 0 |
255 | 100 | 12 | 255 |
255 | 255 | 255 | 12 |
各ドットが、「パレットの何番目の色を使用しているか」というデータの持ち方になる訳だ(と、思いねぇ^-^;)。
察しのいい方ならもうお気づきだと思うが、この形式ならば、「別途パレットデータだけを用意しておき、各グラフィックはパレットの何番目の色をどのドットに使うかというデータ形式にする」ことができる訳だ。
この「パレット」データってのが、ACTファイルな訳ですな。
さてそうすると、SFFファイルに登録するためのPCXファイルは、全て共通のパレットを使用する形に作っておく必要がある。
これがよく言う「パレットの統一化」作業なのね。
もう少し具体的な話をしておこう。
通常、NeoRageやキャプチャーソフトで撮った画像はRGBカラーモードで記録されている(と、思いねぇ^-^;)。
従って、これらをインデックスカラーモードに変換してやる必要がある訳だ。
方法はいくつか考えられる。
エレクバイトでDLできるPCXCreanを使用する方法もあるだろう。
ただ、私はこの方法を用いたことがないので説明できないし、質問されても答えられないので悪しからず。
私が用いる手法は、フォトショップを使うやり方だ。
この方法について、少し具体的に述べておこうと思う。
まず、全画像で共通に使用するパレットを用意する必要がある。
そのために、キャプチャしてきた様々なモーションの画像で、その画像でしか使用していない色が存在するものをピックアップする。
そして、これらを1枚の大きなビットマップとしてまとめる。
例えば、こんな感じですな。
こうすることで、このビットマップにはそのキャラクターで使用する全ての色が含まれている状態になる。
フォトショップでこのBMPを読み込み、カラーモードを変更する。
イメージ−モード−インデックス
そうすると、どのようにしてインデックス化するか訊ねられるので、「全ての色を使用する」を選ぶ。
色の合計数が256を超える場合は、ちと問題が発生するが、ここでは割愛する。
処理後、一見何も変わっていない様に見えるだろうが、実際には先に説明した形にデータの持ち方が変化している筈だ。
で、この状態の画像のパレット情報を保存する。
イメージ−カラーパレット
パレットイメージが表示されるので、パレットを保存するのだが・・・
この時、色情報は前詰めで表示されていて、後半の使用していない色は真っ黒になっている筈だ。
M.U.G.E.Nの場合、一番最後のマスにある色を背景色として識別する。
なので、パレットイメージを良く見て、背景と同じ色のマスを消して、一番最後のマスに同じ色を入れてやる必要がある。
これをやっておかないと、M.U.G.E.Nでキャラを表示したときに、キャラの周りに四角いマスが表示されてしまう、なんてことになるので注意されたし。
そして、パレットを保存する。
これで、このキャラに使用するパレット(ACTファイル)が得られる訳ですな。
因みに、背景色をさわった為に先のBMPは表示がおかしくなる筈だが、気にしない。
もうこのBMPは用済なので、破棄してしまって構わない。
まぁ、残しておいたらそれはそれで、2Pカラーを作るときに便利だったりするのだが。
例によって、ここではこの話は割愛する。^-^;
ここまでできれば、後は単純作業の繰り返しだ。
各モーションの画像をフォトショップで読み込み、カラーモードをインデックスカラーに変更していくのだ。
このとき、インデックス化する方法は「カスタム」を選択するようにする。
そうすることで、ACTファイルを読み込みできる状態になるので、先に作ったACTファイルを指定する。
難しいことは全部フォトショップがやってくれるので、簡単っしょ?
2Pカラーを作るのは、冒頭の考え方を応用すれば理解できるだろう。
要は共通で使用するパレットの、色そのものを変更してやればいい。
それぞれの画像は、パレットの何番目を使用するのかしか気にしない訳だから、そのパレットが何色であっても構わない訳だ。
それには、さっき作ったACTファイルを編集してやればよい。
因みに、最近何の前触れもなく公開開始した「ActFileEditer」とは、まさにこの作業をするためのソフトだったりする。^-^;
Actファイルを読み込んで、色を変更して、名前を付けて保存する、ただそれだけなんだけどね。
最終的には、元のPCXを読み込んで、パレットの何番を変更すれば、どう表示が変わるかを確認しながら作業できる様にするつもりなんだけど、まだPCXは読めない。^-^;
そんな状態だけど、良かったら使ってみて頂戴。^-^;;
CMになっちゃったところで、今回はこれにて。