Oculus QuestのBeat SaberにBMBFを使用して好きな曲を入れる

## はじめに
 Oculus QuestのBeat Saberに自分の好きな曲を入れる方法を解説する。
とは言え頻繁にアップデートされるため、ここで実施した内容は2020.7.11時点の情報であることをご了承いただきたい。
![image.png](https://steamcdn-a.akamaihd.net/steam/apps/620980/ss_1881ae4f153faf0d1ccecca60fbdac5b43ad57eb.1920x1080.jpg?t=1585227120)

因みに、好きな曲を使用する方法は大きく２つある。
1. Beast Saberにて好きな曲を選択してダウンロードする
2. Beat Sageで好きな曲(YouTubeかmp3)を変換してBFNFでインポートする

ここでは両方の方法について解説する。
なお、これらの方法は自己責任でお試しください。

## 手順
 PCとOculus Questの両方で設定するので手順が煩雑であるが、要約すると以下のような順番となる。
![Untitled Diagram.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/dba0787f-8c4b-3ff8-0b49-a28a1f2283a4.png)


## Oculus Questを開発者モードにする
最初にOculus Questにて開発者モードをONにする。
今回は割愛。正規手順で可能である上、日本語情報に事欠かないので、そちらを参照のこと。

## Oculus ADB Driverを入れる(PC側)
 作業PC(Windows10 Home)とOculus Questを接続するためのドライバーをインストールする。
下記サイトからドライバーをダウンロードして解凍する。
https://developer.oculus.com/downloads/package/oculus-adb-drivers/
oculus-adb-driver-2.0.zip

解凍したoculus-go-adb-driver-2.0\usb_driverから"android_winusb.inf"を右クリックしてインストールを選択する。
インストール後は一応Oculus Questを再起動する。

## Side Questを入れる(PC側)
 下記サイトのWindows Downloadからインストーラーをダウンロードする。
https://sidequestvr.com/download
PC側でダウンロードしたファイル(SideQuest-Setup-0.10.10-x64-win.exe)をダブルクリックしてインストールする。

## PCとOculus Questを接続する
 PC側でSide Questを起動させて、PCとOculus QuestをUSBケーブルで接続する。左上の●アイコンが緑になっていれば正常に接続していることになる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/22121726-4fa0-58e4-e30f-7022c68c545e.png)

## BMBFをインストールする
 ここで一旦Side Questを終了させてBMBFをPCとOculus Questの両方にインストールする。2020/7/11時点でBMBFインストーラのバージョンはv1.8だが、Beat Saberのバージョンアップ(v1.10.0)に伴い、BMBFも最新のパッチ(v1.9)を当てる必要がある。まず、以下のサイトに接続する。
https://bmbf.dev/stable

このサイトの"BMBF v1.8.0"から自分のPCの環境に合わせたインストーラをダウンロードする。
Windowsであれば、BMBFInstaller.Setup-x64-win.exe
Macであれば、BMBFInstaller.dmg
となる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/bd1db592-91a9-123d-40d9-33d70305fdc0.png)

次に最新のパッチを"Update to Beat Saber v1.10.0"から"com.weloveoculus.BMBF.apk"をダウンロードする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/51d7d9ba-1cbf-f006-2650-2feb0ec3bfed.png)

### BMBFのインストール(PC側)
最初にPCにBMBFをインストールする。先にダウンロードしたBMBFInstaller.Setup-x64-win.exeを起動してBMBFをインストールする。
スタートメニューから"BMBFInstaller"を選択し起動すると以下のような画面が表示されるので、PCとOculus Questを接続し"OFF"のボタンをクリックするとインストールが開始される(この段階ではBMBFをOculus Questのストレージにコピーするだけ)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/e71981a1-717d-bb5c-d57c-783103f745dc.png)
※上図ではDisconnectedとなっているが、Oculus Questと接続しConnectedとなっていること。

この段階ではBMBFはv1.8のためOculus Quest側で正常にインストールできない。最新のBeat Saberに対応させるためBMBFをv1.9に上げる必要がある。

### Oculus QuestのBMBFにパッチを当てる(PC側)
PCでSide Questを起動し、下図の赤丸のようにアイコン"Install APK file from folder on computer."をクリックする。ここで既にダウンロードしてあるcom.weloveoculus.BMBF.apkを選択すると、Oculus Quest内のBMBFにパッチを当てることができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/445aaeb3-4f78-5554-bce6-cbdb0d0de424.png)

### BMBFのインストール(Oculus Quest側)
これでBMBFが最新の状態になったのでOculus Quest側の作業となる。Oculus Quest側の"アプリ"で提供元不明の欄を選択すると表示されるBMBFを起動する。BMBFをインストールする際にBeatSaberを置き換えるために、再インストールを促されるが構わず進める（Beat Saberが無い場合には先に進めない）。一度Beat Saberをアンインストールされるため、心配な場合は予めSideQuestでバックアップを取ることをお薦めする(バックアップ方法は割愛)。

インストールに成功するとOculus Quest側でBMBFを使用してカスタム曲のダウンロードが可能となる。

### カスタム曲をダウンロードする(Oculus Quest側)
Oculus Quest側でBMBFを起動するとウインドウが表示され上部のヘッダからPlaylistsやBrowserが選択できるようになる。Playlistsでインストール済の曲一覧を見ることができる。Browserを選択するとBeast Saberサイトに接続でき、様々なカスタム曲をダウンロードして遊ぶことができる。

下記はPCの画面だがOculus Questからも同じサイトを見ることができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/37d8adee-d023-d2eb-5937-34e6d205fd73.png)

好きな曲を検索するなどして、下図の赤丸のアイコンをクリックしダウンロードする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/584aad3f-7946-7206-d502-c16a4aa56f79.png)

ダウンロードしたファイルはPlaylistsから見ることができるので、右上の"Sync to Beat Saber"ボタンを押して、Beat Saberにダウンロード曲を取り込む。
赤色の"Sync to Beat Saber"ボタンが青色の"Start Beat Saber"に切り替わったら、このボタンを押してBeat Saberを起動する。

曲一覧の右端に"Custom Maps"というアイコンが表示され、ダウンロードした曲を選択できる。

## 好きな曲を取り込む
BMBFを使うと自分の好きな曲をBeat Saberに取り込むことができる。以下その手順を説明する。

### Beat Sageで好きな曲をBeat Saber用に変換する
PC側でBeat Sageというサイトで好きな曲をBeat Saber用のファイルに変換することが可能となる。変換はYoutubeの動画を指定するか、mp3のファイルをアップロードするかの2つの方法がある。

まず以下のサイトを開く。
https://beatsage.com/

スクロールし、Step1. Selet Your SongでYoutubeの動画のリンクを指定するか、mp3ファイルをアップロードする。Youtube動画の場合、動画下の"共有"からリンクをコピーすることができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/acd0a99d-466d-c7c0-ade5-43e59c0826be.png)

NormalやHardなど、様々なオプションを選択可能。ただし、上手く変換できない場合もある。自分は変換したファイルはNormalモードでキューブが１つも流れてこなかった・・・(Expertは遊べたが)。

次に以下の黄色のアイコンを切るようにマウスを動かすと変換が開始され、ダウンロードできるようになる。変換ファイルはzip形式になっており、ひとまずPC側に格納する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/09c50e07-99ad-dba6-4f07-ab3019d6cffe.png)

## 変換したファイルをBeat Saberに取り込む
PC側でBMBFInstallerを起動し、Oculus Questと接続すると以下のような画面が表示される(下部がConnectedになっていることを確認)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/b20c97a7-0b46-0827-fdaf-ed873684ab03.png)
OpenBMBFを選択するとブラウザが表示され、Oculus Questで起動したBMBFと同じ情報を参照することが可能となる。

上部ヘッダーの"Upload"を選択し、中央に表示されるUpload Filesをクリックすると、ファイル選択ダイアログが表示されるので先に変換したzipファイルを選択してアップロードする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/eb138b27-fdea-8ee0-d676-900e410f5cb0.png)

アップロードに成功すると右下に"Song Added"というメッセージが表示されるので、右上の"Syn to Beat Saber"で同期させる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/38c0adad-1d33-b0a6-df97-62157eaec933.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/8f95ac51-59ea-149a-8db7-0a97a4c6ff92.png)

"Playlists"を追加されているのを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216026/44bf444c-1ec6-6ce4-09ac-0a71b3a53393.png)

この状態で、Oculus Questを装着し、Beat Saberを起動すると変換した曲をプレイすることができる。