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

なんやかんや調べてv1.19.0対応のアバター作成に成功しました。せっかくなので手順を紹介します。


【注意】

・下記前提部分の説明は ないです。

・バージョンが変わったらこの手順が通用するかは不明。


【前提】

・Beat Saber本体にカスタムアバターMODが導入されている

・アバターにするための(ボーンとか入ってる)FBXを持っている

・Unityダウンロード アーカイブから「2019.3.15」をインストール済み

・Unityの操作なんとなくわかる


1.

下記のページから「BeatSaberCustomAvatars-v5.2.10-UnityProject.zip」をダウンロード、解凍します。

https://github.com/nicoco007/BeatSaberCustomAvatars/releases


2.

下記ページに書かれている「What to download」の項目を実行します。

https://github.com/nicoco007/BeatSaberCustomAvatars


具体的にはこれを


この場所にコピペ



3.

Unityを起動し、Open projectから「BeatSaberCustomAvatars」フォルダを開きます。

開いたら左下にエラーなど出ていない事を確認。


4.

Assetsから「TemplateFullBody」シーンを開きます。

3点トラッキングのテンプレでもいいですが、6点設定で作っても3点で使えるのでこっちを使います。



5.

既存のアバターのチェックを消し、非表示にします


6.
Assetsにfbxを突っ込み、RigをHumanoidに変更。Applyを押します。



7.

Configureを押し、モデル設定画面へ。

エラーが出ていたら解消します。このモデルの場合はなぜかJawに左目が自動設定されていました。


全体が緑になっていればOK。

右下のApplyを押します。モデルがTposeになっていない場合、勝手に直してもらえます。


Muscles & Settingタブへ移動。
スライダーをいじるとぐにょぐにょ動くことを確認し、右下のDoneを押します。


8.

モデルのテクスチャを設定します。
すでについているモデルの場合は次の手順へ。

新規フォルダ「Textures」を作成し、使用しているテクスチャ画像を入れます。






9.

マテリアルの設定をします。
MaterialsタブでExternal Materials(Legacy)を選択、Apply。


Materials内を全選択し、ShaderをBeatSaberのCellshading_Wnormalsに変更。白黒になりましたね。


Cull ModeをOffに、Ambient Lightingを0.9に変更。


10.
FBXをシーンに配置し、マテリアルに改めてテクスチャを設定します。
Bodyのような、マテリアルが設定されている部品のそれぞれにテクスチャをselectしてやります。


こんな感じ。Normals mapの方はなければほっといていいです。



11.
全てのテクスチャが貼れたら、再びMaterialsフォルダに移動し全選択、Colorを真っ白に変更。
どうだ明るくなつたろう



12.
HierarchyでCreate Emptyし、適当な名前を付けます。
今後の説明では今作ったオブジェクトを「MUR」、FBXの方を「アバター」と呼称します。


13.
TemplateFullBodyからHead~Pelvisをコピーし、MURの中に配置します。



「Head」の中の「HeadTarget」は消します。
画像のようになっていればOK。


14.
MURにAdd Componentで「Avatar Descriptor」と「First Person Exclusion」を追加します。
こうなってればOK。


15.
「First Person Exclusion」のSizeを1に変更し、Elementに手順10で設定したオブジェクトを選択。
複数に分かれている場合、顔や頭に当たる部分を選びましょう。
Armature内に入っているオブジェクトと間違えないよう注意。


16.
アバターにAdd Componentで「VRIK Manager」と「Pose Manager」を追加します。
こうなってればOK。


17.
Pose Managerコンポーネントの「Save Open Hands Pose」と「Save Closed Hands Pose」を押します。
正直よく使い方分かってないんですが、とりあえず緑チェックが付いてればヨシ!


18.
アバターをMURの内部へ移動させます。


19.
VRIK Managerの中のHeadをクリック。
黄色く表示された対応オブジェクトを右クリックし、Create Empty。名称は「HeadTarget」とします。


こんな感じ。

20.
MUR、アバター、Head~Pelvisの位置を中央にします。
Transform.Position確認し、0になっていなければ0に変更。


これで真ん中!

21.
アバターのサイズを調整します。
手順5で非表示にしていたのを再表示、アバターのscaleをいじって同じくらいの大きさにします。


コワイ!テンプレのアバターはまた非表示にしておきましょう。


22.
手順12でコピーしたオブジェクトの位置を合わせます。

Headは目の先ぐらいの位置


左右のHandは手の位置に合わせます。
このときTransform.RotationのYは0に変更。Zはそのまま。



左右のLegは触らなくてOK。

Pelvisは腰の位置です。


23.
Gameタブを移動して見やすくし、Playモードへ。




手順22で位置を調整したHead~Pelvisを移動して、アバターが連動することを確認しましょう。


ヨシ!


~物理を入れたい場合~

揺らしたいパーツの根元のボーンに「Dynamic Bone」をAdd Component。
Rootにそのボーンを設定します。


実行し、MURを移動してみると動きを確認できます。
Headとかを移動しても揺れないので注意。


揺れない場合FBX側が対応していません。
揺らせる最低条件は、「2つ以上のボーンが連なっており、それぞれにウェイトが設定されている」なんじゃないかと思います(経験則)


~アニメーションを入れたい場合~

コントローラーとアニメーションの作り方はクッソ丁寧なこちらの動画を参考に。
https://www.nicovideo.jp/watch/sm35143515

アバター内のBody(名称問わずSkinned Mesh Rendererが付いているところ)に「Animator」をAdd Component。
画像のように設定します。


「Event Manager」を使う場合、MURにAdd Componentして設定。


実行してまばたきなどが行われているか確認しましょう。
受動アニメはAnimatorのラジオボタンを押すと確認できます。便利だぁ…


24.
MURのAvatar Descriptorにアバターの情報を入力します。
Supports Automatic Calibrationにチェックを入れておきましょう。
Coverはサムネ画像。なくても動きます。


25.
WindowからAvatar Exporterを選択。適当なところにExportします。


こう小窓が出れば成功!エラーがでてたらどっか間違えてます。


26.
作成された.avatarをCustomAvatarsフォルダに突っ込みます。


27.
成し遂げたぜ。セイバーの位置がずれたりしてる時は手順22で調整。



~完~

質問は動画の方にコメントしてもらえれば答えられるかもしれない。
ただし、投稿者はこのアバターでしか作ったことがないので期待をしてはいけない。

コメント

このブログの人気の投稿

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