BeatSaberにVRChatのアバターを持って行ったメモ
VRChatの自作アバターをBeatSaberに持って行ったので入れ方をメモ程度に残します。
とりあえずBeatSaberにアバターもってけた!ただ位置合わせとかがなかなか難しい! pic.twitter.com/604zLWEQyk
— 黒鳥@VRCケモカフェオーナー (@kurotori4423) June 2, 2018
前提
Unityの基本操作ができること(VRChatにアバターをアップロードできるくらいの知識があれば大丈夫です)
BeatSaberにModを導入できるようにしていること。
Modの導入に関してはこちらの記事で解説されています。
またアバターの確認のためにCameraPlusというカメラの位置を自由に配置できるModがあるのでそちらも導入しておきましょう。
このModの導入方法も下記の記事で解説されています。
CustomAvaterPlugin の導入
まず、Beat Saber Mod GroupというDiscordのグループから必要となるプラグインをダウンロード。
「finished-plugins」チャンネルにikeiwaという方がCustomAvaterを配布しているのでDLしましょう。
ダウンロードしたら、「CustomAvater」→「Extract_Content_In_BeatSaber_Folder」の中身を、「BeatSaber」のインストール場所にコピーします。(Steamなら Steamダウンロードフォルダ\steamapps\common\Beat Saber)
ここでBeat Saberを起動しアバターが表示されているかどうか確認してみてください。
アバターの作成
プロジェクトを開く
ここから実際にVRChat用のアバターをBeatSaberに持ち込んでみます。
そのためにはUnityを使う必要があります。Unityのバージョンは「Unity 2017.3.1f1」です。それ以外のバージョンではうまく動作しない可能性があるので必ず「Unity 2017.3.1f1」をインストールしてください。
Unityを起動したら右上の「Open」を選択し、先ほどDLした「CustomAvater」内の「TemplateUnityProject」を開きます。
開いたら、ProjectウィンドウのAssets→TemplateFullBody→TemplateFullシーンを開きます。
すると現在このような画面になっていると思われます。
アバターの読み込み
アバターに使用したい3DモデルをUnityにインポートします。インポート方法はVRChatと基本同じなのでここでは簡潔に説明します。
- 3Dモデルファイルをインポート
- 3DモデルのAnimation TypeをHumanoidに変更
- Cnfigure... でボーンの修正
- マテリアルの設定
マテリアルはBeatSaberのシェーダーを使用したほうがいいかもしれないです。マテリアルのシェーダメニューからBeatSaber以下のものを設定しましょう。 マテリアルはある程度陰影の出る「Lit Glow」、VRChatで言うところのUnlitシェーダーになる「Unlit Glow」あたりが使いやすいです。
BeatSaber向けの設定をする。
モデルのインポートが終わったら、そのモデルをHierarchyからTemplateFullにドラッグアンドドロップして、TemplateFull以下にモデルを追加します。
図では「VRC_Kamikaze_dasaT」が自分の導入したいモデルの名前になっていればOKです。
次に使用したいモデルの大きさをテンプレートアバターと同じくらいの大きさにします。 特に手の位置が同じくらいになるとよいと思います。
なぜこうするのかというと、プレイヤーの大きさがアバターによって調整されないので、あるプレイヤーの大きさに合わせる必要があるからだと思います。
大きさが異なる状態で設定をすすめたところ、水平時の腕の位置がおかしくなるなどして調整が困難でした。
次に必要なコンポーネントを追加します。
1からすべて設定するのは大変なのでテンプレートからコピーしてきます。
まず、full body templateから「IK Manager」をコピーします。
コンポーネントの右上の歯車アイコンをクリックし「Copy Component」をクリック
次に導入したいモデルを選択した状態で、適当なコンポーネントの歯車アイコンをクリックして「Paste Component As New」を選択すればコンポーネントが追加されます。
同じ方法で「VRIK」もコピーしてきます。
コピーできたら「VRIK」のReferencesを導入したいモデルのものに設定し直します。
Solverの項目も黄色蛍光ペンで塗ったところを自身のモデルのものに差し替えましょう
次にRightHandとLeftHandを自身のモデルの位置に合わせます。
最後に不要なfull body templateを削除します。
ここまで完了したらAvaterとしてファイルを書き出します。
ツールバーから「Window」→「Avater Exporte」を選択。
作者名とモデル名を入力し「Export モデル名」をクリックして.avaterファイルを出力します。
アバターのチェック
作ったアバターのチェックを行います。「Steamダウンロードフォルダ\steamapps\common\Beat Saber\CustomAvaters」に作ったアバターファイルを入れます。
BeatSaberを起動して「PageUp」「PageDown」キーを押すとアバターを切り替えられます。
めでたくアバターの導入が完了ですが、おそらくセイバーの位置や手の角度がおかしくなっていると思われます。
IKターゲットの位置調整
Unityに戻り、LeftHandTarget、RightHandTargetの位置を調整します。この位置と角度はモデルによってまちまちなので、とにかくひたすらBeatSaberとUnityを往復してHandTargetの位置をずらしたり回転させたりしてちょうどよい場所を探しましょう。
ちょうどよい場所に調整出来たら完成です!