Seaside Laboratory

Posts

スーパーコンボの残像色を解析

ストリートファイター系のゲームを改めて調べてみると、V-ISM のような例外を除けば殆ど青系統の色ということがわかったので、それに倣い青に戻すことにした。

ストリートファイター ZERO 3 のスナップショットを解析した結果を元に計算式を書き直したので、より原作に近い色になったはず。

オリジナル。
多少暗い色でも綺麗な残像になるのが特徴。
KFX は特定の色成分だけ「残す」方式なので暗くなりがち。

作業記録 (2011/03/01)

前回は近似色を出すのに力を使い果たしてしまったのと、ネットに転がっている画像をサンプルとして使ったので不正確な面が否めなかった。

そこで今回は KOF98 風残像を作るついでに、より正確な値を算出してみようということで、画像を自分で取り込んでより詳細な分析を行った。その結果、残像の色はピクセルの値から導きだしているのではなく、専用の残像用パレットを使っている可能性が高いことが分かった。

まず、元ピクセルの明るさと残像の明るさに相関性がない。例えばケンの帯とナッシュのズボン (一番暗い色) を比較すると、元ピクセルの方は帯の方が暗いのに、残像になるとズボンの方が暗くなる。

RGB(16, 16, 16) → RGB(0, 0, 112)
RGB(0, 32, 16) → RGB(0, 0, 96)

輝度を元に残像色を生成しているのであればこうはならない。

また、機械的に色変換をしているのであれば全キャラ青系統の残像になるはずだが、本田のような一部のキャラは残像に元ピクセルの色味が残っている。

残像に肌色の成分が残っている。

当時の基板の処理能力やキャラクターデータが固定なことを考えれば、予め用意しておいたパレットを使うのは当然のような気もする。

ただ、彩度や明るさという部分に関してはある程度規則性はあるので、原作に近い残像を作ることは可能。ZERO3 も KOF98 も以下のような変換式になっていた。

  1. 元のピクセルから輝度を算出。
  2. コントラストを調整。
  3. パラメータに基づいて彩色する。
KOF98 風残像を作成する過程。
ZERO3 風も同様。

作業記録 (2017/02/28)

描画ライブラリのパレット対応によってキャラクターのカラーを量産できるようになったので、以前からやりたかった残像のグラデーションを実装。

今までのブロッキングは VRAM の消費量を抑えるためにスーパーコンボの残像を流用していたが、これも新たにカラーを割り当てることにした。

他のエンジンはどんな表示になっているのか、ということでエンジン別の表示結果は以下の通り。

左から順に KFX、KFM、KFA、XPlus、上から必殺技、スーパーコンボ、ブロッキングとなっている。

今後、燃焼食らいなどを実装したときに「燃焼はカプコン風だけど残像は KOF 風」といった組み合わせになるとまとまりがなくなってしまうので、オプションにあった残像色の選択機能は廃止にした。