mixiユーザー(id:293107)

2023年12月02日05:26

71 view

【MUGEN】CPS-2・3からの移植ステージのアスペクト比調整について

久しぶりの日記は、これまた久しぶりにMUGENネタ。

MUGENをいじりだしてからかなりの年数が経っているが、当初から気になっているのが、カプコンのCPS-2・3のアスペクト比問題。

ご存じの通り、CPS-2ではストリートファイターⅡやヴァンパイア、CPS-3ではストリートファイターⅢ、ジョジョの奇妙な冒険など、傑作格闘ゲームが多くリリースされており、当然のごとく、MUGENへのそれらのゲームのキャラやステージの移植も数多い。

だが、MUGENへの移植にあたり、問題となるのがCPS-2・3の384×224ドットという一風変わった解像度。
ドットのアスペクト比(縦横比)を自由に可変できたブラウン管への出力であれば問題なかったが、ドットのアスペクト比が1:1固定のMUGENにCPS-2・3の画像をそのまま持ってくると原作よりも横に引き延ばされたような見た目になってしまう。

それでもキャラについてはアスペクト比の設定項目が存在していたため、原作に近い縦横比に調整できたのだが、ステージについてはそれができないため、横に伸びたような絵になってしまう。
例えば、月が描かれたステージだと、月が円ではなく、横長の楕円になってしまうという感じ。

ところが、最近入手したCPS-2からの移植ステージの告知文に「Internal Capcom resolution fixed」と書かれていた。
どうやらMUGEN1.1であれば、[StageInfo]の部分にキャラ同様、xscale、yscaleの記述を入れることでアスペクト比の設定ができる模様。
具体的には下記のような感じ。

[StageInfo]
zoffset = 214
autoturn = 1
resetBG = 1
xscale = 0.9
yscale = 1.07


実際に試してみると下記の画像のようになる。

調整前
フォト


調整後
フォト


背景の瓦が楕円から原作通りの円に近くなっているのが分かると思う。

なお、アスペクト比を正確にする場合、xscale=0.83、yscale=1.07という数値を入れる必要があるが、この数値だと円がやや縦長に見える感があるので、私はxscale=0.9にしている。

以下にストリートファイターⅡ・Ⅲ、ZERO用のステージを調整した際のノウハウをまとめておく。
確認する際は、MUGENのトレーニングモードでステージを表示させ、ステージのdefファイルを修整した後、SHIFT+F4でデータを読み込み直して対戦再開をさせると効率的。

1:[StageInfo]の調整
[StageInfo]にxscaleとyscaleの項目を加える。
変更しない場合は1、0.9なら0.9倍、1.1なら1.1倍といった形で拡大縮小される。

2:[Camera]の調整
[Camera]のboundleft、boundrightの値を調整する。
要はステージの横幅の調整。「xscale = 0.9」としたのであれば、それぞれの数値を0.9倍くらいにした数値を入れると良い感じかと思う。

3:[BG]の位置調整
背景(BG)の各パーツの位置を調整する。
今回の場合、「yscale = 1.07」としているため、縦に引き延ばされた分、画像が下方向にずれているので、[BG]内で「start = 0,-14」という風に画像の開始位置のy軸の設定部分にマイナスの数値を入れてずれた分だけ上に移動させる。
なお、「start = 0,80」といった形で0以外の数値が入っている場合は、ずらした分の数値分を引くこと。この場合であれば、80から-14して66となる。
横方向に関しても調整が必要かと思ったが、十数個のステージを調整した感じでは、しなくてでも大丈夫っぽく思える。
調整前のステージ自体が完全再現というわけではないことが多いので気にならないのかも?
もちろん、気になるようなら調整すべし。

4:[BG]のスクロール速度調整
多重スクロールしている背景やパーツのスクロール速度を調整する。
なぜこれをする必要があるのかと言えば、元通りのスクロール速度だと、画像が短くなった分、下記画像のように画像が存在しない部分が出てきてしまうことがあるため。

フォト


具体的には[BG]の「delta」の値をいじっていく。
「xscale = 0.9」であれば、「delta」のX軸の値を0.9倍すればよい…というほど単純でもないが、目安にはなるので、xscaleの値を参考に「delta = 0.80,1」⇒「delta = 0.72,1」とかしてみて様子を見ると良い。
通常地面(キャラの立ち位置)はdelta=1で、数値が小さくなればスクロール速度が遅くなり、大きくなれば早くなる。なので、画面奥の遠景の方の数値が小さくなることとなる。

実際に既存の移植ステージをいじってみると、意外なことに、原作通りの見た目、挙動をしていない移植ステージも多かったりする。

例えば、ストリートファイターⅡのステージの場合、原作ではキャラがジャンプしたときに画面が少し上にスクロールするのだが、それが再現されていなかったり、再現されている代わりに地面の下の部分が無理矢理引き延ばされていたりといった形になっている。
これはMUGENの縦解像度240ドットに対し、CPS-2の縦解像度が224ドットのため、縦スクロール分の領域を含めても、元画像の縦サイズが240ドットしかなかったとかいった事情があったためであろう。

今回の設定が分かったことによって、ようやく見た目も動作も原作に近いステージの再現ができるようになったわけで、長年の念願が叶ったという感じ。

なお、ジャンプ時の縦スクロールがされていない場合は、下記のように[Camera]の設定を直すと良い。

[Camera]
boundhigh = -8
boundlow = 0
verticalfollow = .1
floortension = 0
tension = 60

ちなみに、ストリートファイターⅢの場合、ストリートファイターⅡよりキャラが大きくなっているため、ステージの縦方向を伸ばすと全体的なスケール感がおかしくなる感じがある(背景のベンチが妙に大きく見えたり)。
なので、xscale=0.9、yscale=1という風に横方向だけを縮めた方がよさそう。
1 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する