XYZ ...

ギミック譜面の基礎 (1)

本ポストは韓国語で、最初に作成された後、翻訳機を使って翻訳されました。ややぎこちない点があっても理解してください。

本ポストは、BMSEのノート配置、小節の長さの変更、小節の挿入などの基本的な操作法の熟知を必要とします。また、私はBMSEに慣れているのでBMSE基準に説明するがiBMSCもほぼ同じ操作をすることができるだろうと考えています。

ギミック譜面とは?

上記の動画を見るだけでも、ギミック譜面が何であるかを知ることができると確信しています。


開始する前に基礎知識

上記のパターンを一見するとノートが逆に上がったりの間の間隔が変化するようだが、BMSでノート間の間隔は絶対に変わらないし、ノートを下以外の方向に動くようにすることはできません。下の図のように、非常に細長い紙の上にノートが描かれており、これがBPMに比例する速度で下に降りて行っていると思うと楽です。 Music Box


Wave 変速

1/2倍速 -> 1.5倍速 形

比較的柔らかい感じを与える員bpmの1/2倍速が各区間で1/4、1.5倍速の3/4を占めている格好です。1/4が1/2の速度で、4分の3が3/2の速度で移動し(1/4)/(1/2)+(3/4)/(3/2)をすると1になります。

Wave

左のような譜面が右に変わったことです。背景キークリックの変化にも注目してください。

2倍速 -> 1/2倍速 -> 1倍速 形

2倍速が各区間の1/2、1/2倍速が各区間の1/4、1倍速は、各区間の1/4を占めている形態の変速です。背景キー音があっても動きを計算しやすいのが利点です。

Wave2

上記の二つの形態の変速を各変速の長さは、保ったまま位置のみ変えて使用すると、他の効果を出すことができます。例えば、下記の1番キーの時間間隔は、すべて1/4節で同じです。

Wave Variation


ワープ

上記の映像のようにノートが突然現れたり消えするギミックを「ワープ」と名前をやっております。上記のlot minedsで見た特殊効果はほとんどこのワープで動作します。実装は、思ったより簡単なのに、ワープしたい区間のbpmを以下のように可能な限り大きくします。

Warp

簡単に説明すると、スクラッチノートを打つ直後にbpmが65535(bmseで直接入力することができる最大のbpm)という非常に大きな値に変わり、bpmが120になるまで一瞬にして移動するようになって瞬間移動したかのように見えるようになるになります。

このとき65535は十分に大きいbpmではないので、さらに大きな値に直接変更してくれるとします。bmsファイルをテキストエディタで開いて65535という値を見つけ#BPMXX 65535を適切に大きな値に変更します。このときに、新しい値は、ウォンbpmの1000倍、10000倍と同じ値がお勧め。

#WAVO0 gl16.ogg
#WAVO1 gl17.ogg
#WAVO2 gl18.ogg
#WAVO3 gl19.ogg

#BMP01 bga.mpg

#BPM02 1740000
#BPM03 1740000
#BPM04 1740000
#BPM05 1740000
#BPM06 1740000
#BPM07 1740000
#BPM08 1740000

保存してくれた後、bmseを再度実行してみると次のようになっています。

Warp BPM

これからはその値を(ctrl+ドラッグ)にドラッグ&ドロップ使えば再びテキストエディタで直接編集する手間を省くことができます。


ワープ停止アニメーション

ワープと停止を交互に使えば上記のような効果を出すことができます。

以下のようなソース譜面を例に作成しましょう。

Warp Stop Before

背景キー音に基づいて効果を出そうとしようとするので、間隔を計算してみるとしたカーンが1/16であるため、各ノートは4/16、6/16、4/16ほど離れています。BMSEでstopの数は、1/192を意味するので、計算してみると、それぞれ48、72、48という数値だけ離れていると見ることができます。ノートをすべてbgmに向かって移動し右クリック - >節の挿入機能を利用して節を多く挿入してくれた後、小節の長さを調節して所望の形状を作ってくれます。

Warp Stop Before2

今変速を配置する必要があります。ワープ変速を入れるときの要領で非常に大きな変速を(元の変速の1000倍、10000倍が計算する楽)に入れます。もし次のように円形bpmが180である曲にbpm180000を挿入した場合stopも同じように1000倍してくれたの値を入れてくれれば良いです。(もしstop値が65535よりも大きい場合も、テキストエディタで直接編集してくれます)この場合には、それぞれ48000、72000、48000がその値になります。

Warp Stop

最後に、元のbpmに帰るのも忘れずに入れます。


付録

bpm65535を使えば、なぜだめ?

bpm65535で4/4小節の実際の時間は、60*4/65535になって、約0.0037秒になります。このような誤差は、別のないようだが、これを100回書いてしまえば0.3秒、1000回使用すると、3秒という驚異的な誤差が生じます。したがって、少なくとも1000000以上のbpmを使用することをお勧めします。

背景音にキー音があり、ワープ停止アニメーションのタイミングが合わない場合

bgm problem

上記のように51、52番のキー音にタイミングを合わせてアニメーションを入れようとするが、1〜8回のキー音が間の間に入っていて、そのままする場合背景音が壊れる場合があります。このようなときは、次の2つの方法の中から選択して使わなければなり

BMX2WAVなどを使用して、背景のキー音を併合

key bms

新しいBMSファイルを作成し、上記のように邪魔になる背景のキー音をすべて#000節に新たに配置して保存します。その後BMX2WAVを適切に使用して作成されたBMSをwavファイルにしてくれて、元のBMSに新しくできたwavファイルを既存のキー音の代わりに入れていただければされます。

同じフレームを時間間隔をおいて相次いで再生

key bms2

かなり面倒な方法ですが、上記のように、同じフレームを分けてじっとしているかのように見えますが、キー音がタイミング合わせ再生されるようにする方法もあります。


書いてみると内容が大幅に長くなって一度はここまで書きました。 次のポストには、上記のワープ停止を利用して、より滑らかなアニメーションを実装して、ここで地雷ノートを入れる方法と、その他の有用なものを書く予定です。