ビートセイバー 譜面作成ガイド【3Dエディターによる制作実践編】

ビートセイバー 譜面作成ガイド

ビートセイバー(Beat Saber)のMOD曲を作る際は、譜面作成ツールを用いることで効率的に曲情報を編集し直感的な操作でノーツやライトエフェクトをエディットできます。

「EditSaber」という3Dエディターで追加曲を制作する方法について、機能や操作方法の説明なども交えながら解説していきます。

この記事を読めば誰でもオリジナルの譜面が作れるようになります。

大まかな制作手順や必要なソフトウェアは、以下の記事で紹介しています。併せてご覧ください。

ビートセイバー(Beat Saber)で追加曲を効率的に制作するには、エディターや音楽編集ソフトなどが必要不可欠です。この記...

スポンサーリンク

MODファイルの構成について

MODの基本的な構成とファイル内容を簡単に解説します。

EditSaberを利用する場合、ソースコードを直接書く必要はないのでjsonの記述内容については触れません。

SongLoaderPluginで動作するカスタムソングは、以下のファイルで構成されます。

  • example.ogg
  • example.jpg
  • info.json
  • Easy.json
  • Hard.json
  • Normal.json
  • Expert.json
  • ExpertPlus.json

各ファイルには以下の情報が含まれています。

  • example.ogg・・・音源データ
  • example.jpg・・・カバーイメージ画像(所謂CDジャケット)
  • info.json・・・曲情報
  • “Easy/Hard/Normal/Expert/Expertplus”.json・・・各難易度の譜面+ライトエフェクト情報

これらのファイルが含まれる曲フォルダを\Beat Saber\CustomSongs\に作成すれば完成です。

曲フォルダやjsonファイルは3Dエディター内で作成・編集できるので、まずは音源データとイメージ画像を用意しましょう。

音楽ファイルと画像を用意する

曲本体と、選曲画面などにサムネイルとして表示するイメージ画像を編集します。

音楽ファイル

音源はoggファイルにする必要があります。

Audacityなどの編集ソフトでwavやmp3からoggに変換し、適当なファイル名(song.ogg、曲名.oggなど)で保存します。

イメージ画像ファイル

画像は256×256ピクセル程度にリサイズして、jpgで保存します。(拡張子はpngでも問題ありません)

ファイル名は何でも構いませんが、cover.jpgや曲名.jpgなどにしておくといいでしょう。

スポンサーリンク

3Dエディターで情報編集

EditSaberで曲情報などの編集を行います。

「BeatSaberEditor.exe」を実行して、EditSaberを起動してください。

起動後の画面(CustomSongsフォルダ参照画面)

EditSaber起動後の画面

起動後の画面では、以下の操作が行えます。

  • 曲フォルダを作成する
  • 曲フォルダを削除する
  • 編集したい曲を選択し、エディット画面を開く
  • EditSaber外で行った変更を適用(更新)する
  • 参照先のフォルダを変更する

画面左側にあるグレーの枠内には、ビートセイバーインストール先の「CustomSongs」フォルダの中身が表示されます。

既に曲を入れてあるのに何も表示されない場合は右上のReset BeatSaber Folderを選択して、次の画面でビートセイバーインストールフォルダのパスを入力してください。

曲フォルダを作成する

画面右側のLevel Nameと表示されている入力欄にフォルダ名(曲名など)を入力して、すぐ下のCreate Levelを押すと曲フォルダが作成されます。

左のグレー枠内にフォルダが追加されていればOKです。

手動でCustomSongsフォルダに新規フォルダを作成しても問題ありません。

曲フォルダに音源と画像を入れる

曲フォルダに音源と画像を入れる

一旦EditSaberから離れます。

ビートセイバーインストール先の「CustomSongs」フォルダを開き、さきほど作成した曲フォルダに音源のoggファイルとイメージ画像用のjpg(またはpng)ファイルを入れます。

info.jsonを作成する

曲フォルダ名の右側にあるEditを押すとエディット画面が開き、当該フォルダ内にinfo.jsonが作成されます。

エディット画面

エディット画面では曲情報(info.json)の編集や、難易度ごとに譜面ファイル(expert.json等)の作成が行えます。

曲情報を入力する(info.jsonの編集)

エディット画面で曲情報入力

左側の曲情報を入力していきましょう。

  • Song Name:曲名
  • Song SubName:曲のサブタイトル
  • Author Name:著者名
  • BPM:曲のBPMを入力(※重要)
  • Preview Start Time:選曲時の再生位置指定
  • Preview Duration:選曲時の再生時間指定
  • Cover Image Name:サムネ用画像のファイル名を入力
  • Environment Name:背景エフェクトのベースとなるタイプを選択

BPMには必ず正確な数値を入力します。ここがズレていると曲のリズムとノーツの配置間隔を簡単に合わせられなくなり、調整がとんでもなく面倒になります。

曲のBPMがわからないときは、BPM測定ソフトで測ります。

私はMixMeister BPM Analyzerを使っていますが、使用するソフトは何でも構いません。たまに測定結果が間違っていることもありますが……そういうときは自分で微調整します。

MixMeister BPM Analyzerを使う場合の注意点:対応形式は「MP3、WMA、WAV」のみなので、oggファイルではなく変換前のデータを読み込んでください。あとファイル名やパスにユニコード文字が含まれていると動作しないので、測定が上手くいかない時はそちらも確認してみてください。

Preview Start Timeは選曲画面に反映される設定です。

ゲーム内でこの曲を選択したときに、どの部分から再生するか開始タイムを指定できます。

例えば2分10秒の曲に対して「Preview Start Time:30」と入力すると、00:30/02:10から再生されます。

Preview Durationも選曲画面に反映される設定です。

ゲーム内でこの曲を選択したときに、何秒再生するか指定できます。

例えば「Preview Duration:20」と入力すると、20秒間だけ曲が流れます。

Environment Nameは「Default, BigMirror, Triangle, Nice」の4種類ありますが、すべて背景のリングやライトエフェクトの動きが異なります。

よくわからない場合はとりあえず「DefaultEnvironment」にしておいてください。個人的にはNiceEnvironmentが好きです。

各種設定が終わったら、画面左下のSave Song Infosを押して変更内容をinfo.jsonに保存します。

難易度ファイルの設定

エディット画面で難易度情報入力

Add Difficultyをクリックすると、グレー枠内に難易度が追加されて難易度ファイルを作成・編集できるようになります。

各項目は以下のように設定してください。

  • Difficulty:難易度を選択
  • Rank:難易度ランクを入力
  • Audio File Name:読み込む音楽ファイル名を入力
  • Start Offset (ms):オフセットを入力

Difficultyはこれから作る予定の難易度に設定します。

Rankは上で選んだ難易度に応じて「Easy=1, Normal=2, Hard=3, Expert=4, ExpertPlus=5」のいずれかに設定します。

Audio File Nameにはファイルのパスではなく、ファイル名を拡張子も含めて入力します。

Start Offset (ms)は0.0のままでOKです。

譜面エディット開始後に曲の拍点がエディターのビートと一致していない場合、この値を弄って調節できます。ただ、できればこの機能は使わずに音楽ファイル編集ソフトで適切な無音時間を挿入した方が良いでしょう。やり方は次の項で説明します。

Apply Modificationsを押すと、難易度等の変更が適用されます。

Delete Difficultyを押すと、Select中の難易度が削除されます。

Edit Levelを選択すると、info.jsonに上記の設定情報が書き込まれ、譜面のエディット画面に移ります。

DifficultyがNoneのままだったり、ファイル名が間違っていたりするとEdit Level選択時に”Your audio file name is wrong. Enter only the name NOT the path.“というエラーメッセージが表示されます。

譜面エディット画面でsave mapボタンを押すと、難易度ごとにjsonファイル(easy.json等)が作成されます。

スポンサーリンク

3Dエディターでノーツやライトエフェクト作成

MOD曲の作り方と必要ソフト紹介

マッピング画面では、オブジェクトの配置・編集作業が行えます。ここで加えた変更は難易度ごとのjsonファイルに保存されます。

冒頭の無音部分を編集

譜面編集を本格的に始める前に、まず音楽ファイル編集ソフトを使って曲の冒頭に無音部分を挿入しましょう。場合によっては短く調整したり、完全にカットします。

この作業を行うことで、Start Offsetの設定が不要になります。

元から無音部分が多めに入っている曲や、偶然拍子がぴったり一致するときはこの作業を省くこともできますが、基本的には編集推奨です。

最適な無音時間と計算方法について

一番手っ取り早いのは、無音部分を完全にカットすることです。

無音部分を設ける場合は、最適な無音時間を計算して調整する必要があります。

・基本の無音時間

その曲の1拍の長さが最適な無音時間のベースになります。

例えばBPM140の曲なら、基本となる1拍の長さは60÷140=0.4285714285714286なので、約0.428秒の無音時間を挿入します。

これよりも長い無音時間を設けたい場合は、上記の秒数をn倍すればOKです。

・曲の開始直後やそれに近い位置にノートを配置する場合

冒頭に2~4秒以上の無音部分を挿入してください。無音時間は必ず「1拍の長さ×n」と一致するようにします。

例えばBPM140の曲なら、基本となる1拍の長さは60÷140=0.4285714285714286です。これを5~9倍した値(約2.142秒、約2.571秒、3秒、約3.428秒、約3.857秒)のいずれかを無音時間として挿入するといいでしょう。

例えば無音部分がほとんど無い曲のはじめにノーツを配置すると、ゲームを開始した直後に目の前にノーツが出現し、BPMによっては反応する間もなく一瞬で通り過ぎてしまいます。このような事態を避けるには、最低でも2~4秒の無音部分を挿入する必要があります。

音楽編集ソフトで無音時間を挿入 or 調整

ここではAudacityを使って無音時間を挿入する方法を解説します。

音源のoggファイルをAudacityのウィンドウにドラッグアンドドロップするか、「ファイル」→「開く」から開いてください。

[Ctrl]キー+マウスホイールで波形を見やすいサイズに拡大・縮小します。

(ツールバーの虫眼鏡アイコンを選択するか、[F4]キーを押して拡大ツールに切り替えてから操作してもOKです。波形を左クリックで拡大、[Shit]キーを押しながら左クリックで縮小できます)

ツールバーの⇔アイコンを選択するか、[F5]キーを押してタイムシフトツールに切り替えます。

Audacityタイムシフトツール操作

波形の上で左右にドラッグして、曲の開始位置を変更します。上で計算した最適な無音時間が最初の波形の位置になるよう調整しましょう。

ツールバーのIアイコンを選択するか、[F1]キーを押して選択ツールに切り替えます。

Audacity選択ツール操作

追加した無音部分をドラッグで選択して、[ジェネレーター]→[無音…」を選びOKを押します。

冒頭の無音時間をカットしたいときは、選択ツールでカットしたい部分を指定してから[編集]→[切り取り]を選択します。

Audacityサイレント挿入

[ファイル]→[Export]→[Export as OGG]でファイルを保存して完了です。

マッピング画面でノーツや障害物のオブジェクトを配置・編集

マッピング画面でノーツ編集

これまでの作業を手順通りに行っていれば、曲の基本リズムとエディターの拍子ライン(1,2,3,4…と数字が表示されている線)が一致していると思います。

ここからはノーツや障害物のオブジェクトを編集していきましょう。

譜面作成のコツと注意点

重要な点だけ箇条書きにします。

  • オブジェクトの座標が、想定するタイミングに対してズレないようにする
  • 主旋律よりリズム重視でノーツを配置する(※1)
  • 下向きのノーツは下段メインで構成する
  • ノーツの向きや配置は、導線をしっかり意識する(身体の動作と自然にリンクするように)
  • プレイヤーの死角に配慮する(※2)
  • 死角にノーツを配置する場合は、プレイヤーが位置や向きを予測できるようにする
  • 同じレール上に短い間隔で連続配置する際は、ノーツの向きに規則性をもたせる

他にも色々ありますが、とりあえず上記のポイントを押さえておけば所謂クソ譜面になる可能性は下がるはずです。

(※1)一般的な音ゲーではボーカルの主旋律に沿ったノーツ構成をよく見かけますが、ビートセイバーにおいてはリズム重視で作成したほうが楽しい譜面になることが多いです。メロディラインをなぞるような配置は避けるべきだと思います。

(※2)例えば手前のノーツで視界を遮られて、後ろのノーツの向きが見えなくなる等……エディター上では問題なさそうにみえても、実際にプレイしてみるとダメなパターンが多々あります。

あと、ウォール(障害物)の通過直後も反応しづらいので配置を工夫する必要があります。

基本操作

画面上のUI

  • ▶ボタン:再生
  • ||ボタン:停止
  • ≡ボタン:オプションメニューを開く
  • 赤ノーツアイコン:レッドノーツ配置モード
  • 青ノーツアイコン:ブルーノーツ配置モード
  • ボムアイコン:ボム配置モード
  • 赤いブロックアイコン:壁配置モード
  • ゴミ箱アイコン:オブジェクト削除モード

ホットキー操作

  • Space:再生/停止(▶ボタンと違い、停止しても再生開始位置に戻らない)
  • BackSpace:カメラ位置をリセット(カーソル正面の手前に移動)
  • 1:赤ノーツを選択
  • 2:青ノーツを選択
  • 3:ボムを選択
  • 4:壁を選択
  • 5:オブジェクト削除モードを選択

カメラ操作

マウスの右クリックを押しながら以下のキーを押すとカメラが移動します。

  • WASD:前後左右に移動
  • Space / Shift:上下に移動

エディット操作

  • マウスホイール:エディットカーソル(現在の座標)位置を移動する
  • Ctrl + マウスホイール:エディットカーソルの移動幅(Cursor Precision)を変更する
  • PageUp / PageDown:配置面を上下する
  • Tab:ライトエフェクトのメニューを表示する

Ctrl + マウスホイールで選択できるCursor Precisionは「1/1拍, 1/2拍, 1/4拍, 1/8拍, 1/16拍, 1/32拍, 1/64拍」の7種類です。1/3拍や1/5拍などに設定したいときはCursor Precisionの入力欄にマウスカーソルをあわせてドラッグするか、手動で入力します。

ノート操作

  • WASDF または テンキー1~9:ノートの種類を変更する
  • Shift + マウスホイール:ノートの種類をローテーションで変更する
  • Alt + WASDF:配置済みノートの種類を変更する
  • Alt + Shift + マウスホイール:配置済みノートの種類をローテーションで変更する
  • Alt + 左クリック + ドラッグ:配置済みノートの位置を移動させる
  • マウスホイールクリック:配置済みノートのカラーを変更する(トグル)

ホットキーによる選択操作

  • Shiftを押しながら左クリック:配置済みノートを選択/選択解除(トグル)
  • Ctrl + A:全て選択解除
  • 方向キー:選択中のノートを上下左右に移動させる(複数操作可)
  • Shift + 方向キー上下:選択中のノートを前後に移動させる(複数操作可)

オプション画面

マッピング画面のオプション

右上の「≡」ボタンを押すと、オプションメニュー画面が開きます。

この画面には操作方法が書かれているほか、以下の操作が行えます。

  • Back to song infos:エディット画面に戻る
  • Save map:マップ保存(マッピング画面で編集中のデータを*.jsonに保存する)

  • Playback Speed:再生速度の変更
  • Editor Scale:エディターの1拍あたりの間隔(スケール)を変更できる
  • Note Sound:ノーツの効果音設定
    • None=無音
    • Tick=電子メトロノームのような音
    • Slice=スネアっぽい音
    • Quack=アヒルの鳴き声
  • Enable WaveForm:音声波形の表示/非表示を切り替える
  • Snap to beat:エディットカーソルの位置をエディターのビートに合わせる
  • BPM:曲のBPM設定
  • Move every objects (in beats):全オブジェクトの座標を前後にずらす
  • Apply Move:Move every objects (in beats)の変更を適用する

Snap to beatはボタンを押すとエディターのビートの位置(1,2,3,4…と数字が表示されている太い下線)にエディットカーソルを合わせることができます。

例えばCursor Precisionを1/32や1/64などにして細かい編集を行っていると、基本の拍子座標にカーソルを戻すとき少し手間取ることがあります。Snap to beatを押してからカーソルを動かせば、最も近い位置のビートにワンステップで合わせられるので、作業時間の短縮に繋がります。

BPM設定は、いざ編集を開始したらBPMが合っていなかった……という場合に、この画面で調整すると便利です。

ただし、ここで指定したBPMは難易度.jsonにのみ適用されます。info.jsonのBPMはエディット画面で指定した値のままなので、最終的にBPMが確定したらエディット画面のBPM設定も書き換えておきましょう。

Move every objects (in beats)は全オブジェクトの座標を一括で編集できます。変更はApply Moveを押すたびに反映されます。

例えば譜面完成後に冒頭の無音時間を編集すると全体のオブジェクトがずれてしまいますが、この機能を使えば一括で調整できます。あまり使うことはありませんが、覚えておくと稀に役に立ちます。

可変拍子の曲を編集するときも応用として使えるかもしれません。ただ、選択操作のほうが効率的なケースがほとんどでしょう。

マッピング画面で背景やライトエフェクトを配置・編集

背景やライトエフェクト編集

エフェクトは編集しない人もいますが、クオリティを上げるためにはなるべく設定したいところです。

曲の流れやリズム、ノーツなどにあわせて配置していきましょう。

やり方は色々ありますが、すべてのエフェクトを一度に編集しようとせず項目ごとに完成させると作業効率が良いです。

例えば最初にBottom/Back/Side Lasersを編集して、一通り完成したら次にTrack Ring Neonsのオブジェクトを配置していく……といった感じですね。

≪作業順の一例≫

Rings Rotation(リング全体の動きを編集)

Small Rings Zoom(小リングの動きを編集)※BigMirrorEnvironmentのときは省略

Bottom/Back/Side Lasers(レール上のライトエフェクトを編集)

Track Ring Neons(リングのネオンライトを編集)

Left Lasers & Right Lasers(左右レーザーライトを編集)

Left Lasers Speed & Right Lasers Speed(左右レーザーライトの可動スピードを編集)

Back Top Lasers(正面遠方のレーザーを編集)

UIの基本操作

イベント選択メニュー

[Tab]キーを押すと、エフェクトに関するイベント選択メニューが表示されます。

各項目の内容

  • Color:ライトカラーの選択
  • Light Effect:ライトの種類を選択
    • Off:ライト消灯
    • On:ライト点灯
    • Flash:ライトを一瞬消してから点灯させる
    • Fade:ライト点灯後、徐々にフェードアウトさせる
  • Lasers Speed:レーザースピード変更

「Flash」はオブジェクトの座標で消灯し、数コンマ先で点灯する仕様です。一例ですが、以下のような状況で使用します。

  • 点灯状態から特定のタイミングに点滅を挿入したいとき
  • 消灯タイミングを軸に連続で点滅させたいとき

以下のケースでは「On」「Off」のオブジェクトを組み合わせるのがベターです。

  • 消灯状態から特定のタイミングに点灯を挿入したいとき
  • 点灯タイミングを軸に連続で点滅させたいとき

「Lasers Speed」は数値によってレーザーライトの動きが変わります。

  • 0=動きを止める
  • 1以上=縦回転や横回転の動きを加える
  • 1~8=動作スピード変更(数字が大きいほど回転速度UP)

エフェクトの種類

エフェクトの種類

各レールの内容を上から順に説明します。

  • Right Lasers Speed:Right Lasersの動きを変える
  • Left Lasers Speed:Left Lasersの動きを変える
  • Small Rings Zoom:背景リングを小さい部分だけ動かす(BigMirrorEnvironmentのときは小リングが存在しないため機能しない)
  • Rings Rotation:背景リング全体を動かす
  • Bottom/Back/Side Lasers:レール上のライト
  • Right Lasers:右のレーザーライト(NiceEnvironmentのときは下)
  • Left Lasers:左のレーザーライト(NiceEnvironmentのときは上)
  • Track Ring Neons:背景リングのネオンライト
  • Back Top Lasers:一番奥のレーザーライト

「Left Lasers Speed / Right Lasers Speed」は、イベント選択メニューの「Lasers Speed」に数値を指定してから挿入します。

ライトエフェクトなしのデメリットと注意点

ライティング設定は見た目が綺麗になるだけでなく、プレイ時の快適性にも影響します。

どういうことかというと……下の画像を見比べてみてください。

ライトエフェクトありとなしの比較

左はライティングあり、右はライティング一切なし

両方ともライティング以外は同じ譜面ですが、右側は障害物のボムがほとんど視認できなくなっているのがわかると思います。

これを応用して難易度を上げることもできますが、理不尽な難しさは単なるストレス要素にしかならないので、その点は充分に注意する必要があります。

ライティングの演出と組み合わせて、プレイヤーにボムを認識させてから一時的に暗闇状態にするなどの配慮が必要でしょう。

最低限やっておきたい設定

ボムを配置するならライティング設定はほぼ必須ですし、ボムなし譜面においても基本的に照明は付けておいた方がいいと思います。(曲のイメージにあわせて意図的に真っ暗なステージにする場合は勿論なしでOK)

ただ、譜面制作は相応の労力を要します。ノーツの編集で力尽きたときは、開幕のライトアップだけ設定するといいでしょう。

手抜きライトアップの一例

こんな感じの手抜きライトアップでも無いよりは断然良い

以下の手順でライトアップを行います。

  1. [Tab]キーを押してイベント選択メニューを開く
  2. Color:Blue or Red どちらか選択
  3. Light Effect:On or Flash どちらか選択
  4. 曲の冒頭にライティングオブジェクトを配置

オブジェクトの配置場所は、以下のレールから選択します。

  • Bottom/Back/Side Lasers
  • Right Lasers
  • Left Lasers
  • Track Ring Neons
  • Back to Lasers

全レールに置いてもいいですし、数か所だけ点灯させてもいいでしょう。

EnvironmentがNiceEnvironment以外の場合、RightLasersとLeft Lasersはセットで点けたほうがいいと思います。

レーザーを動かしたいときはRight Lasers SpeedとLeft Lasers Speedにも(イベント選択メニューのLasers Speedを1以上にしてから)オブジェクトを配置してください。このあたりはお好みで。

まとめ

譜面作成ガイドまとめ

以上、3Dエディターを使って譜面を作成する方法でした。

はじめは操作に戸惑うかもしれませんが、実際にオブジェクトを配置して動きを確認しながら覚えればすぐに使いこなせるようになると思います。

最初は低難易度で制作するのがオススメです。慣れてきたら他のユーザーが制作した完成度の高い譜面を参考にしながら、高難易度にもチャレンジしてみてください。

この記事が少しでも譜面制作のサポートになれば幸いです。

スポンサーリンク