疑似的なコンスタント(Dynamic Sudden)をStepMania上で実現するために、「おじゃま(Attacks)」というものを使ってみることにしました。
けど、調べ方が悪いのか、情報がほとんど引っ掛からなかったので、自分で分かった範囲で備忘録を残しておく。
【参考文献】
SM | Project Outfox Wiki : Attacksについての記述あり
Modifier Files | Project Outfox Wiki : ModStringについての記述あり
ここの記述を参考に、何とか最低限理解できた。たぶん…。
目次
おじゃまの記述法[Modstring]
*8 100% sudden
おじゃまの設定では、「Modstring」というものを記述すればよいそうです。この仕様について詳しくは分かりませんが、以下の3つの要素で構成されていました。
- *n:効果が掛かる速度
- nnn%:効果量
- [option]:おじゃまの種類
で、おじゃまの種類って具体的に何があるかは分からない。
boost,brake,wave, hidden,sudden,stealth, reverse,split,alternate,cross, とかがありそう。実際にオプションで指定できるものが対応してる…かな?
“no sudden”など、”no “をつければ、該当のおじゃまを解除できる?(未確認)
注意点:時間指定は「絶対時間」
理由は何故か分かりませんが、おじゃまの時間は絶対時間(単位は秒)で指定することになっています。
つまり、「開始から何秒後におじゃま発生」「何秒間おじゃまが発動」「開始から何秒後におじゃま終了」などは、全て「秒数」で設定しなければなりません。
#BPMSや#STOPSは拍数なのに、秒数での指定だと直感的に分かりにくいね…。
おじゃまの設定方法(EDIT画面)
以下、EDIT画面での設定方法(日本語なので、一部表記が異なる場合があります)
StepMania(Outfox)でEDIT画面を開きます。
「Enter」でメニューを開き、「現在位置におじゃまを設定」。
「おじゃまの追加」
入力画面が出てくるので、先ほどのModstringを記述します。
ちなみにキーボードの配置が日本語のものとは異なっているようで、「Shift+8」で「*」を出すことが出来ました。
Enterで確定したら、譜面の右側に、おじゃまの内容が表示されていれば設定完了。
おじゃまの時間はデフォルトで5秒なので、長さを調節する必要があります。
先ほどと同様に「現在位置におじゃまを設定」を選択すると、さっき設定したおじゃまが確認できます。
「Modify」でおじゃまを修正、「Delete」でおじゃまを消去。
「Modify」で以下の画面が開きます。
「Seconds Remaining」はデフォルトで5秒になっているので、掛けたい時間(※絶対時間)の秒数を指定します。
(↓画像使いまわし)
該当箇所の右側に、設定内容が反映されていることを確認し、設定終了。
※私の環境では、おじゃまを反映させるために、一度「コースと曲をリロード」が必要みたいです。
「Modify」→「MODの追加」で、1つの記述内に複数のおじゃまを設定すれば、それらのうち1つがランダムで発動する?(未確認)
おじゃまの設定方法(sm,ssc)
絶対時間での指定だからか分かりませんが、一度EDIT画面を閉じたら、上記の方法(Modifyとか)でおじゃまを再編集することが出来ません。
ので、現状ではsmもしくはsscファイルを直接編集して、おじゃまを編集しています。
▼保存したsmファイルの中を見てみると「ATTACKS」セクションに記述が追加されていますね。
上記とは別のファイルですが、
▼複数あるAttacksを改行・並べ替えして見やすくしてみた
(他のセクション同様、区切りはコロン”:”で、最後はセミコロン”;”)
必要に応じてここを修正して、StepManiaでリロードすれば、おじゃまの再編集が終了です。リロード前に不要なファイル(.bakなど)は消しておくと安心かも。
おじゃまについては、曲全体に掛かっている場合と、譜面ごとに掛かっている場合があるので要注意。
曲全体のおじゃまを修正しても反映されない場合、該当の譜面のNOTESセクション付近に、別のおじゃまが記載されていないかを確認する必要があります。
SuddenOffsetについて
私の目的である、疑似的なコンスタントを設定するためのおじゃま「SuddenOffset」の仕様を確認しました。
0%(おそらくデフォルト値)だと、画面のおおよそ半分くらいが隠されます。
ここを基準に、
- マイナス方向…Suddenが深い方向に掛かる(表示時間が短くなる)
- プラス方向…Suddenが浅い方向に掛かる(表示時間が長くなる)
という設定方法のようです。
いくつかのSuddenOffsetの値と表示位置を調べてみました。
私の環境では、実質的に「-100%~150%(以上)」の範囲でのSuddenOffsetの調整となります。
また、170%以上くらいに設定すれば、実質的にSuddenが掛かっていない状態を再現できます。(Miniオプション等の場合は変わってくると思う)
その他補足
掛かっているお邪魔を表示・変更するには、metrics.iniの「ActiveAttackList」あたりの記述をいじる。Suddenとかと一緒に「Overhead」っていうのが出てくるけど、これ何だっけ、Reverseの対義語だったかな