Beat Saber ノーツ位置置き換えスプレッドシート


譜面作ってみた!でもなんか微妙!楽しい譜面の配置を模倣すればいいのでは?

でもひとつひとつやるの大変…せや!

そのような過程で生まれたスプレッドシートです。


【ダウンロード先】

https://docs.google.com/spreadsheets/d/1eXxARoHxWJP4Bp8AfbQ8jOrk658RceqDxK13eMFbmlk/edit?usp=sharing


【できる事】

譜面データ(HardStandard.datなど)から位置・色・カット向きを抽出、置き換え


【こんな人におススメ】

・ノーツは置いたけど配置どうすっぺ…

・ノーツの位置・色・向きを一括変更したい

・タイミングはそのままで位置・色・向きだけずらしたい


【注意】

・置き換えるだけではまともな譜面にならない

・ノーツの数やタイミングの変更には向かない

・スプレッドシート上で完結しない

・作りが雑

・この記事でスプレッドシートの基本説明はしない(エクセル触ったことあればたぶん大丈夫)

・この記事で譜面の作り方の説明はしない(興味があれば「beatsaber 譜面作成」で検索!)


エディタは「MMA2」より「ChroMapper」がおススメです。

(全てのエラーチェックがエディタ内で出来るため。Ctr+Hでプレビューもできるぞ!!!)


ChroMapperとプラグインのダウンロード場所、使い方が分かりにくかったので書いておきました。



【スプレッドシートの使い方】

デフォルトのカスタム曲「One More Time」の「Normal.dat」を例に説明します。


1. 対象ファイルのコピーを取っておく。

2.datに含まれる「},」を「改行」に置換します。
ここではweb上でのやり方を説明します。テキストエディタでできるよ!という方は飛ばしてOK。

こちらのサイトで
https://www.webtoolss.com/match.html
下記画像のようにテキストエリアにdatの内容を 全てペースト、置換結果をコピーし、メモ帳などに貼り付けてください。

3."_notes"から}],"_obstacles"の間をコピーします。下記画像参照。



4.スプレッドシートのセルA3にペースト。下記画像のようになると思います。



~各列の説明~

A列:
元テキストを貼り付けるところ

B~E列:
置き換えたい内容を入れるところ

G列:
A列から抽出したノーツのタイミング情報

H~K列:
A列から抽出した配置情報
「ノーツ三角の向き」はカットの方向。(ノーツについてる三角が△だったら上、▽は下)

L列:
次のノーツが来るまでの時間
これが0なら同時打ちということ

M~P列:
B~E列に入れた数値を文字に直したもの
「パリティ」って何?というのは後で説明します。

Q列:
置き換え結果

5.B~E列に変更したい内容を入力。
例として「One More Time」の「Expert.dat」の配置を移植してみます。
サブシートに切り替え、2~4の手順をExpert.datで行い、H~K列をコピーします。


メインシートに戻り、B~E列に「値のみ貼り付け」

6.置き換え結果をコピー。
セルQ3からデータが入っているところまで


7.手順3のメモ帳に戻り、手順3と同じ部分を選択した状態でペースト。



8.手順7のテキストを 全選択 し、テキストエリアに貼り付け、「改行」を「},」に置換。


9.元のdatファイルを開き、文字数を確認。
画像例)「One More Time」の「Normal.dat」


10.元テキストをすべて選択して手順8の結果をペースト、末尾に「};」があったら削除する。
文字数が元と変わらないことを確認して保存。


11.作業完了!マップエディタで確認してください。



~遊べる譜面にするために~

しかし置き換えたマップでそのまま遊べるかというと、たぶん無理です。
こんな感じで物理的に不可能な配置になったりします。


そこで、投稿者が考えた なるべく手間をかけず遊べる譜面を作るポイントを紹介します。
ただし出来上がりが楽しい譜面になるかは何とも言えません。

とりあえず基本的なエラーチェッカーに引っかからないことを目指しましょう。


~各エラーの説明とチェッカーの使い方~(ほぼBSMG Wikiのコピペ)

ここで言うエラーとは、難易度が高い場合に避けるべき配置のこと。
エラーが出ないように作れば早くて難しい譜面でも初見でそれなりに遊べる感じになります。
EasyやNormalの楽譜ではあまり気にしなくてもいい。

・「Vision Blocks」 略称VB


中央2マスの片側、または両方にノーツが置かれた状態。
後続のノーツが隠れてしまうため非推奨。

チェッカーを使うと対象と隠れてしまうノーツが赤枠表示される。

・「Double directionals」 略称DD


短時間内に連続した同色・同方向のノーツが配置されている状態。
高BPM曲で手首を痛める可能性が高いため非推奨。

チェッカーを使うと対象ノーツが赤枠表示される。

・「Parity break」


短時間内に連続した同色・同グループ内にあるノーツが配置されている状態。
高BPM曲で手首を痛める可能性が高いため非推奨。

スプレッドシートにあったパリティはこれのこと。青上、青下、赤上、赤下と表記している。

チェッカーを使うと対象ノーツが黄色や赤枠で表示される。
黄色枠は許容範囲だが、後続のパリティが分かりにくくなるため避けた方が無難。
別のグループなのに枠が表示されている場合、1,2ノーツ前にDDや全方向ノーツが潜んでいる事が多い。

・「Stacked Notes」


ノーツが重なってしまっている状態。やめようね!


~チェッカーの使用法(MMA2)~


パリティチェッカーは内蔵されていない。
下記ページにdatファイルをドロップすると確認できる。
https://galaxymaster2.github.io/bs-parity/


~チェッカーの使用法(ChroMapper)~

CM-JSとExtended Error Checkerをスクリプトを入れ、Tabでメニューを開き緑のチェックマークアイコンをクリック。
左上メニューから使いたいチェッカーを選んでRun。


【移植に適したデータに加工する】

移植元はパリティチェッカーでエラーが0、またはほぼ0な譜面がおススメ。
高難度で評価が高い譜面はおおよそ該当する。

移植先は同時打ちが少ないほど楽。

加工で楽するため、このようなシートを用意しました。よろしければご利用ください。改造してもいいよ。

(ビートセイバー置き換えデータベース)
https://docs.google.com/spreadsheets/d/11BcxXEJH7Oh7MWuoYkcF_eYB8EWwt4e-eEHSx7EQVNE/edit?usp=sharing


例としてカスタム曲「Sandstorm - Skyler Wallace」の「ExpertPlusStandard.dat」を使用します。


1.曲フォルダのコピーを取り、パリティチェッカーとDDのエラーが出ないよう修正します。

例としたカスタム曲には10個のパリティエラーが存在しました。
なんでや!非推奨やろ!と言いたいところですが、それぞれのエラーのひとつ前のノーツをご覧ください。充分なスペースがあいていますね。
この譜面においてはこれで問題ないわけです。

面倒ですが移植先のノーツ密度が分からない以上、エラーが無いに越したことはありません。
ここで直しておけば移植後の手作業や手戻りを減らせます。

ほとんどの場合、エラーの始まっている部分のひとつ前のノーツを消してしまえばOK。

こうなってたら↓


こうして↓


Runボタンを押すとエラーが消えた


パリティエラーをすべて消したら、DDの方エラーが無いことも確認しておきましょう。


2.修正後のdatを先ほどの要領で貼り付け、G~K列をコピー。

3.「置き換え用データベース」のほうでD~H列に値のみ貼り付け。

4.M~R列の2行目をコピーし、4行目に貼り付け。末尾まで伸ばします。


5.4行目から末尾までをコピーし、M4に上書きで値のみ貼り付け。
これをせずにフィルタで絞り込むと関数の参照があーもう滅茶苦茶だよ。

6.J列を「爆」で絞り込み、該当行を削除。
削除後はフィルタをすべて選択にすれば戻ります。



7.K列を「無」で絞り込み、該当行を削除。


8.R列を「※」「@」で絞り込み、同time中に存在する同色はひとつになるよう行を削除。



この作業で何をしているかというと、こういうやつ↓をひとつになるよう修正しています。


9.加工完了!E~H列のデータを置き換えシートのB~E列に貼り付けてdatに戻しましょう。

例として「One More Time」の「Expert.dat」に移植してみます。
あれ?なんか置き換え結果が途切れてる…隠してたF列が切れていました。こういうことあります。


10.エディタで位置を調整。


壁は消すなり移動すればいいとして…なんだこのエラー数?!
原因は移植先の同時打ちです。


下画像のように、被っている青ノーツとひとつ先の赤ノーツを交換しましょう。
再チェックすればエラーが消えているはずです。


あとはこの作業を無心で繰り返し、VB、DD、パリティ、Stacked Notesエラーを無くしましょう。


11.さらにエディタで位置調整。

頭から再生し、脳内で動きをシミュレートしてみましょう。
明らかに無理だったり危ない配置があれば修正します。

危ない配置の例)



12.テストプレイ
お疲れさまでした。これでとりあえず実プレイ可能な譜面になっているはずです。
後はテストプレイと微調整を繰り返していけばそれっぽい譜面の完成です。

~完~

自分で説明しておいてここまで読んだ人がいるのか疑問ですが、なにかの役に立てば幸いです。
Beat Saberはいいぞ

コメント

このブログの人気の投稿

Beat Saber(v1.19.0) カスタムアバター作成備忘録