カラーパレット

「カラーパレット」の編集履歴(バックアップ)一覧に戻る

カラーパレット - (2019/08/31 (土) 01:39:44) のソース

//一部うろ覚えなので加筆修正お願いします
カラーパレットとは、ディスプレイに表示させる色の組み合わせを定義した情報の事である。
このカラーパレットを用いた画像形式や表示方法をインデックスカラーと呼ぶ。
[[ドット絵]]によるゲームの恐らくほとんどにこの表示方法が用いられている。

----
**「使用カラー」という概念の発生まで
&ref(SF2.gif,,title=CVSリュウで見る各カラーの違い。これはストII風。なお、ここから先のカラーはどれも原作にはデフォルトで存在はしないので注意)&space(4)&ref(SF3.gif,,title=ストIII風。青みがかった髪と赤い篭手、漂白したような真っ白胴着が特徴)&space(4)&ref(Ken.gif,,title=ケンを意識したカラーリング。赤い鉢巻は元々ケンが『ZERO』時代にリボンとして使用していた)&space(4)&ref(Sean.gif,,title=ショーン風。なんか弱そ(トルネーイ!)&space(4)&ref(Dan.gif,,title=「俺はダンじゃないっ!ダンって呼ぶなあっ!」)&space(4)&ref(CvS.gif,,title=殺意の波動に目覚めたリュウ。原作では元のリュウとは別個に登場)&space(4)&ref(brown.gif,,title=スパIIXの豪鬼選択コマンド失敗例で有名な茶色リュウ。SVCカードファイターズDSにも登場)

恐らく「同じ人間が二人いるのは不自然」という常識的判断からであろうか、
最初期の格闘ゲームでは同キャラで対戦する事は不可能だった
(その代わりに[[リュウ]]に対する実質的な同キャラである[[ケン]]が生まれたわけである)。
しかしアーケードで対人戦が盛んになってくると、自分の持ちキャラで先にプレイされていた場合、
そのキャラが使えない事は不便であったし、同じキャラで直接腕比べがしたいプレイヤーも相当数いたはずで、
同キャラ対戦を不可にした判断とプレイヤーの希望との食い違いは大きくなっていった。

そしてストリートファイターII'で同キャラ対戦が完全解禁&link_anchor(*1){*1}されたのだが、この時、自分の操作キャラを判別するため、
外見の差別化の方法として、リュウとケンのような「グラフィックの変更を伴う差別化」はされず
かつての[[マリオ]]と[[ルイージ]]のような「パレットだけの変更での差別化」という方法が取られ、
これにより「使用カラー」という概念が生まれた。
カラーの選択はキャラ決定時に押すボタンによってなされたが、その後ほとんど全ての2D格闘ゲームがこれを踏襲。
「1Pカラー」「パンチボタンカラー」「デフォルトカラー」、さらに色数が増えると「弱Pカラー」などの言葉が生まれていった。
家庭用移植版などではこのカラーパレットを自分で製作する機能(通称カラーエディット)が搭載されているものも多く、
プレイヤーの楽しみの1つとなっている。
そのキャラの有名なプレイヤー等が界隈で根付くと、そのプレイヤーの使用カラーのキャラが、
「(プレイヤー名)(キャラ名)」と呼ばれるようになったりする。
(例:「ウメハラリュウ」「クソル」「5様シン」等)

なお、先述の「同一人物が二人いる不自然」については単なる「ゲームの都合」として特に解決策を講じていない作品もあれば、
何らかの理屈(能力もそっくりに模倣した偽者、[[生き別れの兄弟>王虎]]、たまたま存在した[[そっくりさん>ブレイカーズ]]など)で説明を付けている作品もある。

『[[サムライスピリッツ]]』シリーズでは、パレットは単なる同キャラ対戦時の区別のためという範疇を超えた使われ方をされてきた。
-[[ナコルル]]の2Pカラーを大きくイメージの変わって見える褐色肌にし、後にそれを[[レラ]]という別人として独立させた
(ただし2Pナコルルは独立前から「1Pナコルルとは体形が違う」と設定された珍しい存在だった)。
-「[[剣質]]」システムでは同一人物設定のまま異なるキャラ性能を持たせ、その剣質はカラーによって判別可能に。

『[[KOF XIII>THE KING OF FIGHTERS]]』では大幅にパレットを細分化する事により、
[[同じドットを使いながら衣装が変わる「ように見える」>ルシェカ]]という工夫が取り入れられている。
『[[わくわく7]]』の[[牧原アリーナ]]のレオタードが基本カラーでは全体青一色の所、選択したカラーによっては、
黄色とオレンジに塗り分けられたものに変わるがそれを推し進めたようなもので、
『[[GUILTY GEAR]]』の[[ミリア=レイジ]]もカラーによって生足やタイツになり、
[[ユリ・サカザキ]]の衣装がタイツになったりスパッツになったりレオタード+ニーソックスになったりといった具合である。
MUGENでは[[シュリセル>ゲニ子]]や[[ワンダーウーマン]]が似たような事をしている他、無敵医師氏の[[メイ]]も生足化されたカラーパレットが付属されている。

----
**MUGENにおけるカラーパレット
MUGENでも原則的に同キャラ対戦ではキャラクターカラーで自キャラを区別するという方法が取られており、
他の格ゲー同様、同キャラ対戦時に相手と同じカラーの選択は基本的に自動回避される設定になっている。&link_anchor(*2){*2}
キャラ選択時のボタンで使用カラーが決定されるのもセオリー通りである。
各カラーはACTファイルで定義され、[[SFFファイル>ドット絵]]と共にキャラクターの外見を左右する重要な要素となっている。
#region(ACTとは、Adobe Color Tableの略である。)

ACTとは、「Adobe Color Table」の略であり、その名の通り、画像編集ソフト大手のアドビ社のフォトショップや、
イラストレーター等で使用されるカラーテーブルファイルである。
しかしヘッダも暗号化(圧縮)も全く無く、単に256色分のカラーコードを1色につき3バイトずつ使って記録しているだけ
(1色につき情報は「レッド、グリーン、ブルーの3原色×256階調」なのでそうなる)、
という単純な構造なためか、フリーウェアを含む多数の画像編集ソフトで扱える。
と言うか、&bold(){ファイルの構造とカラーコードの事が良く分かっていればバイナリエディタでも編集が可能である。}
#endregion

規定パレット数は256色(255色+透過色)で、このパレットに色が収まっていればFF等のエディタで個別に色の設定が可能である。
SFFファイルで設定する画像には2種類があり、「共通パレット」は設定したACTファイルの影響を受けるが、
「独自パレット」はACTの影響を受けず、どのカラーで選んでも常に同じ色で表示されるため、自由に色を付ける事ができる。
また[[ポートレイト]]は常に独自パレットが適用されるため、ボタンによるカラーの変更には対応していないので注意が必要である。
透過色は1色のみ設定する事ができ、本家であるアドビのフォトショップなどでは右下に位置するのが基本だが、
MUGEN関連のツールでは一番左上に位置付けられる事が多い。
#region(小話)
MUGENのパレットの定義はこの256色の組み合わせによって行われるが、これより前のCPS2やNEOGEO等、
格ゲー全盛期のゲームマシンや基板は同時に扱える色数が遥かに少なかった。
基本で使える色数が限られている事に加え、キャラクターの色はそこからさらに''15色だけ''選別して、
パレットとして使用するという流れだった(透明色を含めると16色)。
どれだけベースとして持っている色数が豊富であっても、その中から更に「本当に必要な色」の見極めが必要な事に加え、
決められた[[ドットサイズ>ドット絵]]にその選んだ15色のみでキャラを造形していくという技術も必要である。
ドッターの事を「職人」と呼ぶのには、そういった卓越した色の選出とその配置によってキャラ表現する、
正に職人芸と呼べる腕を持っていたからである。
#region(現役ドッターによる余談)
とはいえ、15色に色を収めるのは実を言うとそれほど難しい事でも無い。
理由は簡単、同色のグラデーションに使う色数は、その色を使う面積に比例するからだ。
どんなキャラクターでもパッと見で「赤っぽい」とか「白っぽい」とかの一番多く使う色があるだろう。
これを「メインカラー」として4~5色取る。
次に肌や髪の毛の色、服装の2番目に面積が広い色などを「サブカラー」として2~4色、
服飾などのワンポイントに1~2色だけ「エキストラカラー」を取る。
この法則で「メイン1色、サブ&エキストラ1~2色」と種類を割り振れば、
大抵のキャラは15色以内で綺麗に色を割り振る事が可能なのである。
基本的に人間を書く際は肌色は様々なキャラで色味調整して使い回す事が多いのだが、
前述のように面積に比例するという事を念頭に置いて、「このキャラは顔だけしか肌が出ていない」といったケースには、
臨機応変に肌色を3色に削るといった機転を利かせればパレットを無駄なく活用できる。
また全身派手で色々な色があるといった場合は、その分一色に対する面積が減るので、
「メインカラー0、サブカラー3」といった振り分けをすれば問題なく収まるだろう。

後は小技として、例えば赤と青を使うキャラなら「赤3、青3」とグラデーションせずに、
一番面積の狭い色を類似色にする事により、「赤2、青2、紫1」と1色浮かす事ができる。
色味を上手く合わせれば「赤1、青1、紫2」で違和感の無いグラデーションを塗る事も可能なので、
パレットがキツい時は試してみる価値はあるだろう。

同様に一番明るい色(ハイライト)と一番暗い色(シャドウ)を白と黒で代用するという小技もある。
白と黒は無彩色、つまり色味が皆無なのでどんな色にでも合う。
そのためグラデーションの一番明るい所と暗い所を全て白黒で賄うと、手軽にかなりのパレットが稼げるだろう。

ちなみに、ドッターにとって一番辛いのはHDサイズなどの大型キャラで、
「広い面積の立体感を3Dのように滑らかに出す」事と、「30度未満の角度の輪郭線を滑らかに描く」事。
どちらもグラデーションの必要段階数が跳ね上がるため、そこの表現に拘るとパレットをごっそり持っていかれてしまう。
前者は面積が広いほど、明暗の段差が大きいほど、ジャギやモアレが目立つ。
こういった場合は境界をトーン塗りでぼかすといった小技で対処する方法もあるが、
いっその事セル画調の所謂「アニメ塗り」にする方が絵として綺麗に見えるだろう。
HDサイズの商業作品キャラでセル画塗りが多いのは、こういった理由のせいだと思われる。
後者はやってみると分かるが、ドットの線は角度が1度に近いほどグラデーションが増える。
1~2度程度ならいっそ真っ直ぐにするのもありだが、10度位になると結構対処に困る。
こういうのは割り切ってジャギ消しに拘らずざっくり済ませても良いかも知れないが、
逆に言えばこういった微妙な角度の線の処理が腕の見せ所と言えるかも知れない。

ハードが高性能化された昨今では無理に16色に収める必要は無いかも知れないが、
もうちょっとで15色に収まるのに…という製作者は参考にしてみてはどうだろうか。
#endregion
#endregion

基本的に共通のカラーパレットを使用するのはキャラクター本体の画像や[[カットイン]]などに限られる。
ボタンによるモードセレクトなどを搭載している場合はゲージ類の色の変化などにも応用できるが、
特に色の変化が必要ない[[エフェクト>ヒットエフェクト]]などは、独自パレットで登録する方が手っ取り早く済ませられる事が多い。
たとえばintense mc氏の[[右京さん>橘右京]]は血のエフェクトに共通パレットを適用してしまっているため、
カラーによって&b(){緑色や[[紫色の血>ピッコロ]]が飛び散る}という事態が起こる(わざとそうしてるのかどうかは謎)。

WinMUGEN(現在主流となっているバージョン)では、SFFファイルの画像登録の仕様にやや癖がある。
&b(){「共有」}にチェックを入れた画像にのみACTファイルの情報が適用され、それ以外は独自パレットとなるのだが、
共通パレットは&b(){登録した順番で1つ前の画像}を適用するという仕組みになっている。
つまり、途中で1枚でも独自パレットの画像を挟んでしまった場合、それ以降は共通パレットにチェックを入れると、
途中の独自パレットが適用されてしまい、色化けが起こってしまう。
現在は「Fighter Factory」など、自動的に並び順でパレットを整理してくれるツールが出回っているのであまり気にしなくても良いが、
「MCM」などのツールしか存在しなかった初期の時代は、登録順をよく考えておかないと、後々修正するのにかなりの手間がかかっていた。
今でも最初にポートレート、次に共通パレットを使用するキャラ画像、最後に独自パレットを使うエフェクト類、
といった順番で画像を登録する製作者が多いのはこの名残である。

一方DOSMUGENでは、独自パレットはポートレートにのみ適用でき、それ以外は全て共通パレット扱いになっていた。
その為&b(){「共有」にチェックが入った画像が一切無く}WinMUGENで使うとカラーパレットが機能しないキャラがいる。

MUGENキャラは最大12種類までカラーパレットの設定が可能となっており、DEFファイルで登録する
(Pal1…aボタン、2…b、3…c、4…x、5…y、6…z、7…s+a、8…s+b、9…s+c、10…s+z、11…s+y、12…s+z)。
pots氏製作のキャラやまじっく氏製作の[[カンフーマンEX>カンフーマン改変キャラ]]の様にさらに多くのACTファイルを搭載しているキャラや、
キャラ本体と別にパッチ形式でACTファイルを配布している例もあるが、
実際に使用するにはDEFファイルを書き換えるか、ACTファイルの名前を変更して既存のカラーと入れ替える必要がある。
また、MUGENにはDEFファイルで設定したパレットの番号を判別するトリガー「Palno」が存在し、
モードセレクトや[[GGシリーズ>GUILTY GEAR]]の金カラーや黒カラーと言った特殊モード、ボタンによるAI起動の分別などに応用されている。

多くの格ゲーでは基本的にキャラクターセレクトの際に弱パンチボタン(xボタン)で決定する事で、
キャライラスト通りの通常カラー(所謂&bold(){1Pカラー})を選択する事ができる。
しかしMUGENの場合、1番目のカラー(=Pal1)はaボタンに割り振られており、以下順番はb、c、x、y、zと続くので、
2Pカラーまでしかないような原作からベタ移植したキャラの場合、aボタンとbボタンに割り振るのがごく自然であった&link_anchor(*3){*3}。
その名残か、今でもパレットが6つ未満のキャラの場合は1Pカラーをaボタンに置く事も珍しくないようだ。
//しかしMUGENの場合デフォルトキャラである[[カンフーマン]](4ボタン方式)のパンチ系列がx・yボタンに設定されている為、
//それに倣ってx・y(6ボタンの場合zも)をパンチボタンに、
//ゆえに1PカラーのACTファイルをxで決定する事で選べる&bold(){「pal4」}に登録されている事が多い。
//その為「pal1」のカラーになるaボタンで決定したら全然違う色になってしまった!という事もしばしばあったりする(もしくはその逆も)。
気になる人はdefファイルの記述を入れ替えるなどしてみるのが良いかもしれない。

ところでMUGENのデフォルトキャラこと[[カンフーマン]]だが、胴着の色で判別する限りでは、
どうやらPal1(aボタン)ではなく、Pal6(zボタン)に1Pカラーが置かれているようである。

***色化けの修正方法
一部のエディタの仕様として、共有パレットの途中に独自パレットが登録されている場合に、
独自パレット以降のパレットに(主に大ポートレート)異常が出る「色化け」と呼ばれる現象がある。
上記の通り独自パレットを用いたSFFの登録を0,0の前、もしくは共有パレットを全て登録した後に行う事で回避できるが、
既に色化けが起こってしまっている場合は[[SffAirEditor>>http://www.geocities.jp/sffeditor/]]を用いてそのキャラのSFFファイルを開き、
9000,1番の下のスプライトの「共有」のチェックを外す操作を行う事で解消できるので覚えておこう。

この他、DosMUGEN用のキャラをWinMUGENで使用する場合に起こる色化けの解消ソフトとして「CharSffDtoW」が配布されている。
現在は伊吹川氏のサイト「無限小学校」などで入手可能。

***新MUGENのカラーパレットについて
SFFファイルが拡張され、SFFに直接カラーパレットの情報を格納できるようになったが、
この機能を使用すると従来のツールによって後から単独でカラーを編集する事はできなくなってしまう。
そのため多くの製作者が新MUGENでも今まで通りACTファイルとSFFファイルを分けてキャラを構成しているのが現状である。
また&bold(){新MUGENでは新たに追加されたステコン「RemapPal」により、試合中でもパレットを切り替える処理が可能となっている。}
詳しくは[[こちら>新バージョンmugenについて]]を参照。

----
**ACT製作支援あれこれ
***手描きキャラ製作者へのヒント
Windowsに登録されているMSpaintはパレットを入れ替えできないため、透過色の設定が行えない。
保存後にIrfanView等の画像加工ソフトやSAEでパレットを編集する、
もしくはD-Pixed、EDGE、GraphicsGaleなどのパレット位置の変更が可能なソフトを予め選んでおくといいだろう。

***便利ツール紹介
ACTやSFFの編集に有用なフリーツールをご紹介。

・禮我氏製作 ActFileEditer
文字通りACTファイルの編集に特化したツール。
ACTファイルの作成・編集、PCXファイルの読込、及びパレットデータの取り出し・差し替えができる。
PCX形式の画像を読み込む事でリアルタイムでのプレビューが可能となっており、
パレット情報のコピー&ペーストができるのがウリ。
常に完成図を見ながら作業する事ができ、機能やインターフェースがシンプルにまとまっているため非常に使いやすい。
なお、2011年1月に7年ぶりの更新がなされ、選択中のパレットの使用箇所のみをPCXウィンドウにて表示する機能が追加された
(使用箇所以外は選択中の色が反転して表示される)。

・doloop氏製作 bmp2act
現在はダウンロードサイト閉鎖により入手不可。
こちらもACTファイル編集専用のツール。
bmpと銘打っているが、インデックス形式であればpngでもgifでもpcxでもドラッグ&ドロップでACTファイルを生成できる。
元画像を用意できる環境にある製作者向けのソフト。

・siden氏製作 Unify-Bitmap
複数のBMP形式の画像を、指定したBMP画像と同じフォーマットに自動変換してくれる。
そのキャラのパレットで使う色を全て使った画像を最初に用意し、残りの画像をこのソフトで一括変換すると、
SFFに登録する画像のパレットを統一する手間を一気に省く事が可能。
ビット数やパレット数が異なる画像も自動的に変換してくれるが、一定条件下で生成される画像が乱れてしまうバグがある。
特にPhotoshopで作成したBMP画像を変換しようとすると高確率で発生するが、
このソフトを使う前に一度IrfanViewなどを通して8ビットに変換しておけば回避可能。
転載自由で、現在は伊吹川氏のサイト「無限中学校」などで入手可能。

・doloop氏製作 PmpClean
現在はダウンロードサイト閉鎖により入手不可。
BMP、PNG、PCX形式に対応。
上記のUnify-Bitmapの「パレット統一」に加えて、パレットをそっくり交換する「入れ替え」、
パレットに無い色を背景色で置き換える「クリーン」機能が付いている。
オプション(チェックボックス)で背景色の変換を許可⇔不許可やクロップ(余白を削る)もできる。

-結社「障泥烏賊ライブラリ」製作 Yukari
BMP/JPG/PNG/GIF形式に対応。
フルカラーPNG形式のスプライトをほぼ劣化させず256色に減色させる事ができる優れモノ。
ディレクトリーモードが実装されており、複数の画像ファイルの入ったフォルダをFLAN.EXEにドラッグアンドドロップする事で、一括で減色する事が可能。
またオプションでファイルのリサイズもできる。
但しメニューや設定は英語なので注意。
公式サイトは閉鎖されており、現在は開発チームのサイトで公開中。

----
&aname(*1,option=nolink){&color(red){*1}} 厳密に言えば、初代ストIIにおいてもリュウに限り同キャラ対戦を行う事はできた。
やり方はまず1Pが対CPU戦を開始し、負ける。コンティニュー画面に入ったら2P側でコンティニューし、
キャラ選択画面の時点で1P側が乱入すると1P・2P両方のカーソルがリュウになるので、そのまま選択する、というもの。
ただしお察しの通りこれはバグであり、基盤に2Pカラーのデータなどは無いのでどちらも白胴着。
その区別のしづらさは同時に投げを狙った時に顕著で、投げたのか投げられたのかさっぱり分からなかった。
ちなみに、既にストII'が稼働していた時期の発売のスーパーファミコン版ストIIでは
「電源を入れた後のメーカーロゴ表示中に素早く↓、R、↑、L、Y、B、X、Aと入力する」という裏技により同キャラ対戦が可能になる
(入力に成功すると効果音が鳴る)。

&aname(*2,option=nolink){&color(red){*2}} もちろん、カラーパレットが一つしかないキャラクターでは強制的に同キャラ同カラー対戦になる。
また、ほとんど意味は無いが全く同じカラーを別のカラー扱いとして2つ以上割り振る事で、擬似的に同キャラ同カラー対戦を実現する事も可能。
タッグ戦で全員違う色にするためには4種類、チーム戦で全員違う色にするためには8種類のカラーバリエーションが必要である。

&aname(*3,option=nolink){&color(red){*3}} 実は必ずしもカラーはPal1から連続で登録する必要は無く、
原作が6ボタン式でパンチボタンカラーとキックボタンカラーの2つに分かれていた場合に限っては、
>pal3 = k.act;キックボタンカラー
>pal6 = p.act;パンチボタンカラー
この様にDEFファイルに記述すれば原作同様の配置にできる。
ちなみに、こんな風にしてしまうと…
>pal1	= k.act
>pal2	= k.act
>pal3	= k.act
>pal4	= p.act
>pal5	= p.act
>pal6	= p.act
これでは同キャラ同カラー対戦の防止という本来の役割を果たさなくなるので注意。
//追加・加筆修正お願いします。
----