好きな3Dキャラクターモデルを、Beat Saberのカスタムアバターで使いたい!
という人向けに、アバターの作成方法を紹介します。
編集にはBlenderやUnityを使用します。
マテリアルやIKの設定など、初心者が戸惑いやすいポイントもなるべく細かく解説していきます。
※カスタムアバタープラグインの導入については、こちらの記事をご覧ください。

各種ダウンロード
Blender(3Dモデリングソフト)
公式サイトからダウンロードしてください。
記事執筆時の最新バージョンは2.79bです。
ダウンロード後はインストーラーの指示に従ってインストールします。
Blenderのプラグイン
・Cats Blender Plugin(MMDtools同梱)
3Dモデルを最適化するためのプラグインです。(機能の詳細はこちら)
加工時にも色々と使用します。
プラグインはGitHubで公開されています。
こちらの配布ページからダウンロードしてください。Installation項目にダウンロードリンクがあります。
・MMDtools
※Cats Blender Pluginを導入する場合はダウンロード不要
BlenderでMMDモデルデータをインポート/エクスポートするためのプラグインです。
配布ページはこちら
リンク先のUsage項目、Downloadの下にURLリンクがあります
Unity(ゲームエンジン)
Unityのバージョンは「2018.1.6f1」を使います。
公式サイトのアーカイブからUnity 2018.1.6(21 Jun, 2018)のインストーラーをダウンロードしてください。
※Unityは各バージョンで互換性のない部分があるので、必ず指定のバージョンをインストールしてください。
Unity IDも必要になるので、上記リンクの画面右上にある人型のアイコンをクリックしてアカウント登録を済ませておきましょう。
登録後はインストーラーの指示に従ってインストールしてください。
カスタムアバター用のUnityプロジェクト
下記のリンクから、“TemplateUnityProject”フォルダを含む「CustomAvatar.zip」「UnityProject.zip」(AvatarsUnityProject)をダウンロード&解凍しておいてください。
UnityProject.zip(AvatarsUnityProject)
スポンサーリンク
Blender編
BlenderではMMD用の3DモデルをUnityで使えるようにファイル形式を変換したり、ビートセイバー用に最適化を行ったりします。
プラグイン導入
以下の手順でCATSアドオンをインストールしてください。
- Blenderを起動
- 「File」→「User Preferences…」を選ぶ
- 「Add-ons」タブの「Install Add-on from File…」をクリック
- 「cats-blender-plugin-master.zip」を選んでダブルクリック
- アドオン一覧から「3D View: Cats Blender Plugin」にチェックを入れる
- 「Save User Settings」を押す
わかりにくい場合はこちらの記事をご覧ください。内容は同じですが、もう少し細かく説明しています。
モデルのインポート
fbxファイルは以下の手順でインポートします。
左上の「File」→「Import」→「FBX (.fbx)」を選択
(またはCATSタブの「Import Model」の右側にある「≡」を押してから「FBX」をクリック)
pmdファイルやpmxファイルは以下の手順でインポートします。
左上の「File」→「Import」→「MikuMikuDance Model (.pmd, .pmx)
(またはCATSタブの「≡」→「MMD」をクリック)
左下のインポート設定が画像のようになっていることを確認してから、ファイルを開いてください。
pmx, pmdファイルをfbxに変換する(MMD用モデルのみ)
モデルデータがMMD用の場合、ファイル形式はpmxやpmdになっています。
このままではUnityで編集できないので、Blenderで「pmx, pmd → fbx」に変換してやる必要があります。

3Dモデルの加工
一部のパーツを消したい場合など、加工の際はCATSプラグイン機能を使ってメッシュを分解してから作業すると効率的です。

モデルの最適化
アバターとして使えるように、ボーン構造などを最適化します。(既に最適化済みの場合は省略)
CATSタブの「Fix Model」を押してください。
シェイプキーを作成する
ビートセイバープレイ中は、常に武器やポインターを握っています。
これをアバターにも反映させるために、手を握るポーズのシェイプキーを作成します。
Fix Modelの下にある「Start Pose Mode」を押してから、ボーンを動かしてポーズを変えていきます。
左右どちらからでも構いませんが、まず左手を作成してみましょう。
左手のポージング
指の関節をそれぞれ回転させて握りポーズを作ります。
人差し指~小指のポーズを設定して、最後に親指を調節するのがオススメです。
「人差し指・中指・薬指・小指」のポージング
- 第三関節のボーンを選択(右クリック)
- Y軸(緑)を調整する(左ドラッグ操作)
- 第二関節と第一関節も同様の手順でY軸を調整する
「親指」のポージング
- 第一中手骨のボーン(一番根本の部分)を選択
- Y軸(緑)とX軸(赤)を調整する
- 第二関節のボーンを選択
- Y軸(緑)とX軸(赤)を調整する
- 第一関節のボーンを選択
- X軸(赤)を調整する(必要なければ省略)
ポーズが完成したら、左手のポーズをシェイプキーに登録します。
「Pose to Shape Key」を押して、ヘッダーに「Pose Successfully saved as shape key」と表示されたら登録完了です。
右手のポージング
反対の手のポージングは簡単です。
左手のボーンを選択して、トランスフォームをコピペするだけで左右対称のポーズを作成できます。
左右対称のポーズを作成
- コピーしたいボーンを[Shift + 右クリック]でまとめて選択する
- [Ctrl + C]でコピーする
- [Shift + Ctrl + V]でペーストする(反対側のボーンを選択する必要は無し)
左右対称になったら、左手のトランスフォームをリセットします。
ポーズを設定した左手のボーンをすべて選択した状態で、画面左下の「Pose」→「Clear Transform」→「All」を押してください。
ショートカットから削除してもOKです。
- [Alt + G]・・・Locationの値をリセット
- [Alt + R]・・・Rotationの値をリセット
- [Alt + S]・・・Scaleの値をリセット
右手だけ握る状態にできたら、「Pose to Shape Key」を押して右手のポーズをシェイプキーに登録します。
ポーズモード終了
シェイプキーの登録が終わったら、「Stop Pose Mode」を押してポーズモードを終了します。
シェイプキーの名前変更
ここは省略しても構いませんが、作成したシェイプキーの名前を変更しておくとわかりやすいです。
アウトライナーからBodyを選択して、プロパティウィンドウの逆三角形アイコンをクリックしてください。
Shape Keys項目のリスト一番下に「Pose」「Pose.001」という名前のシェイプキーが作成されていると思います。
それぞれ「左手握り」「右手握り」等に変更しておきましょう。ダブルクリックでリネームできます。
fbx形式でファイルを保存
編集したモデルをfbxでエクスポートすればBlenderの作業は完了です。
[Shif]キーを押しながら左クリックで
- Armature(オレンジ色の人型アイコン)
- Armature(白黒の人型アイコン)
- Body(逆三角形アイコン)
を選択状態にしてください。
「CATS」タブの「Export Model」を押して、fbxでファイルを保存します。
(「File」→「Export」→「FBX (.fbx)」でもOK)
スポンサーリンク
Unity編
プロジェクト作成

この画像のフォルダ名は気にしないでください。
Unityを起動したら、上でダウンロード&解凍しておいたカスタムアバター用のUnityプロジェクトを用いて、プロジェクトを作成します。
右上の「Open」をクリックして、CostomAvatarに同梱されている「TemplateUnityProject」フォルダを選択してください。
「UnityProject」>「AvatarsUnityProject」フォルダを選択してください。
※必ずカスタムアバター用のテンプレートからプロジェクトを作成してください。
3Dモデルを読み込む
フォルダ作成とファイルコピー
はじめにアセットフォルダに新規フォルダを作成します。
Projectウィンドウの「Assets」を右クリックして、「Create」→「Folder 」を選択します。
フォルダ名はアバター名などの適当な名前をつけてください。
次に、作成したフォルダ内にテクスチャーフォルダを作りましょう。
(作成したフォルダ内で右クリック>Create>Folder>フォルダ名に「Textures」と入力)
ここに3Dモデルのテクスチャーを入れてください。
作成した「Textures」フォルダをダブルクリックで開き、テクスチャーファイルをドラッグアンドドロップでインポートします。
Blenderで編集したモデルをインポートします。
アバター名のフォルダに.fbxをドラッグアンドドロップで入れてください。
fbxファイルのところは簡易のプレビューでモデルデータが表示されます。
マテリアルの抽出
モデルの読み込みが完了したら、マテリアルを抽出します。
「Textures」フォルダと同じ階層に「Materials」フォルダを作成してから、以下の操作を行います。
- fbxファイルをクリック
- インスペクター(Inspector)ウィンドウの「Materials」タブを選択
- 「Extract Materials…」をクリック
- 「Matelials」フォルダを指定して開く
これで「Matelials」フォルダ内にモデルのマテリアルが抽出されます。
「Extract Materials…」が押せない場合は、次の手順で操作します。
- Locationを「Use External Materials (Legacy)」に変更する
- 「Apply」をクリック
マテルアルの設定
マテリアルのシェーダーを設定します。
「Matelials」フォルダを開いて、マテリアルのファイルを選択してください。
Inspectorウィンドウから、Shaderを「BeatSaber/Unlit Glow」などに変更します。
以下のBeatSaber用シェーダーから最適なものを選択してください。
<旧TemplateUnityProjectの場合>
BeatSaber/CellShading | BeatSaber/Standard |
BeatSaber/Lit Glow | BeatSaber/Unit Glow Cutout Dithered |
BeatSaber/Metallic | BeatSaber/Unlit Wave |
<現AvatarsUnityProjectの場合>
_Shaders/Rainbow | BeatSaber/Standard |
BeatSaber/CellShading | BeatSaber/StandardAlpha(cookie) |
BeatSaber/CellShading_Wnormals | BeatSaber/Tex Lit-Unlit Glow |
BeatSaber/DSCellShading | BeatSaber/Transparent |
BeatSaber/Lit Glow | BeatSaber/Unlit Animated Gradient |
BeatSaber/Lit Glow Cutout Dithered | BeatSaber/Unlit Glow |
BeatSaber/Metallic | BeatSaber/Unlit Glow Cutout Dithered |
BeatSaber/Particle Alpha Blended | BeatSaber/Unlit Wave |
Textureの右側に何も表示されないときは、テクスチャーを選択する必要があります。
「Select」を押してテクスチャーを登録してください。
これをすべてのマテリアルに対して行います。
頬染めなどがうまく表示されないときは、Shaderを「Particles/Alpha Blended」や「BeatSaber/Particle Alpha Blended」に変更してみてください。
透過(透明/半透明)させたいときは、Shaderを「Standard」にしてからRendering Modeを「Fade」または「Transparent」に変更します。あとはAlbedoのalpha(透明度)値を調整すればOKです。
アニメーションタイプの設定
このままだとモデルデータが人型として認識されないので、アニメーションタイプをヒューマノイドに変更します。
- Projectウィンドウのfbxファイルをクリック
- Inspectorウィンドウの「Rig」タブを開く
- Animation Typeを「Humanoid」に変更
- 「Apply」をクリック
「Configure」の左側にチェックが表示されたらOKです。
新規オブジェクトの作成
親オブジェクトを作成
アバターの親オブジェクトを作成します。
Hierarchyウィンドウの空白で右クリックして、Creat Emptyを選択します。
オブジェクトが作成されたら、選択中の「GameObject」をもう一度クリックして名前を変更してください。アバター名などにします。
インスペクターウィンドウのTransform「Position」X,Y,Z座標をすべて0にします。
サイズ調整用のオブジェクトを作成
モデルのサイズ調整時に参照するオブジェクトを作成します。
これは身長計として使います。
Hierarchyウィンドウの空白で右クリック→「3D Object」→「Cube」で立方体のオブジェクトが作成されたら、
Transform「Scale」を「X:0.1, Y:身長, Z:0.1」に設定します。
Transform「Position」は「X:0, Y:身長÷2, Z:0」に設定します。
アバターの編集
ようやくモデルの配置です。
3Dモデル(fbxファイル)を、ヒエラルキーウィンドウ(オブジェクトリスト)のアバター名の真上にドラッグしてください。
サイズ調整
モデルのサイズをプレイヤーにあわせて調整します。
ここまで手順通りに行っていれば、身長計代わりのオブジェクトと3Dモデルの足元が同じ高さになっているはずです。
左上のツールメニューからScale Toolを選択して、モデルのサイズを調整しましょう。
中心の白いキューブを左クリックでドラッグすれば、サイズを拡大/縮小できます。
インスペクターウィンドウの左上にあるチェックボックスをクリックすると、オブジェクトの表示/非表示を切り替えられます。これで確認しながら調整するとやり易いです。
サイズ調整が終わったら、サンプルのオブジェクトは削除します。
Hierarchyウィンドウのオブジェクト名を右クリックしてDeleteを選択するか、[Delete]キーで削除してください。
シェイプキーの適用
Blenderで作成したシェイプキーをアバターに適用します。
モデルのオブジェクト名の左にある横向きの三角アイコンをクリックして、オブジェクトを展開してください。
Bodyオブジェクトを選択します。
Inspectorウィンドウの「VlendShapes」を展開すると、下の方にBlenderで作成したシェイプキーがあります。
「左手握り」と「右手握り」に100と入力しましょう。
これでアバターのポーズが手を握った状態になります。
IK(インバースキネマティクス)の設定
プレイヤーの動きとアバターの動きをリンクさせるために、IKの設定を行います。
IKとは
「そもそもIKってなんやねん」という方のために軽く説明しておきます。
インバースキネマティクスは、そのまま翻訳すると「逆運動学を用いた動作付け」という意味になります。
簡単にいうと、複数の関節の動きを自動で計算してくれるアニメーション手法のことです。
キャラクターを動かすときは、ひとつひとつのボーンを曲げたり回転させたりして関節を動かしますが、インバースキネマティクスでは1か所のボーンを動かしただけで他も連動して動きます。
例えばビートセイバーのゲーム内でアバターの手の位置が変わったときに、肘や肩などの関節も連動して動いてくれるのはこの機能のおかげです。
似たような機能で、FK(フォワードキネマティクス)を利用することもあります。
IKとFKでは、それぞれ関節の動き方に違いがあります。
- IK・・・手 → 肘 →肩 という具合に、身体の末端から体幹に向かって連動して動く
- FK・・・肩 → 肘 →手 という具合に、身体の体幹から末端に向かって連動して動く
どちらも長所と短所があり、IKは直線的な動きを表現するのに最適で、FKは回転系の動きを表現するのに適しています。
IK用のオブジェクトを作成
プレイヤーのカメラ位置やコントローラーの位置を決めるオブジェクトを作成します。
モデルの親オブジェクトを右クリックしてから「Create Empty」を選択し、新規オブジェクトを合計4つ用意してください。
作成したオブジェクトの名前を変更します。
オブジェクト名は、「Head」「Body」「LeftHand」「RightHand」に設定してください。
オブジェクトの座標を設定する
Head、LeftHand、RightHandの座標を設定します。
- Head=プレイヤーカメラ(HMD)の位置
- LeftHand=左コントローラーの位置
- RightHand=右コントローラーの位置
それぞれモデルにあわせて調整していきましょう。
Headの位置調整
HierarchyウィンドウのHeadを選択して、「Move Tool」でオブジェクトの座標を調整します。(Move Toolは画面左上のツールボックスにあります)
例:Y軸(緑色)を目の位置にあわせてから、Z軸(青色)を顔の手前に移動
LeftHandの位置調整
同様の手順でLeftHandも調整します。
握った手の位置までオブジェクトをもっていきましょう。
PositionのZ座標は拳より少し前方に設定すると丁度良いポジションになり、アバターがセイバーの中心を握ってくれます。親指より更に手前に設置するのがポイントです。
位置が調整できたら、Rotationも変更します。
Rotationを変更するのは、アバターの直立ポーズに対応するコントローラーの最適な角度を設定する必要があるためです。
ここの設定がおかしいと、アバターの手首が常時あらぬ方向へ曲がってしまいます。
ツールボックスから「Rotate Tool」を選択してください。
Z軸を左方向に回転させます。
最適な角度はモデルによって多少変わりますが、30~50度傾けるといいでしょう。
アバター完成後にゲーム内で確認して、手首の角度がおかしければ再調整してください。
RightHandの位置調整
こちらはコピペ後に反転させるだけで簡単に設定できます。
LeftHandを選択した状態で、インスペクターウィンドウのTransformを右クリック→「Copy Component」で座標をコピーします。
あとはRightHandのTransformを右クリック→「Paste Component Values」で座標を貼り付けて、PositionのX座標とRotationのZ座標のマイナスを消してやれば設定完了です。
Targetオブジェクトの作成
モデルの頭部や手首の位置を決めるオブジェクトを作成します。
LeftHandTargetの作成手順
以下の順でオブジェクトを展開してください。
Left armを展開して表示されたLeft wirstを右クリックして、Create Emptyを押します。
作成されたオブジェクトの名前を「LeftHandTarget」に変更します。
「LeftHandTarget」をドラッグアンドドロップで「LeftHand」に移動します。
(「LeftHandTarget」が「LeftHand」の子オブジェクトになっていればOKです。)
同様の手順でRightHandTargetとHeadTargetも作成しましょう。
RightHandTargetの作成手順
- _Right shoulder > Right arm > Right elbow を展開
- Right wristを右クリックして、Create Emptyを押す
- 作成されたオブジェクト名を「RightHandTarget」に変更
- 「RightHandTarget」を「RightHand」にドラッグアンドドロップ
HeadTargetの作成手順
- _Neck を展開
- Headを右クリックして、Create Emptyを押す
- 作成されたオブジェクト名を「HeadTarget」に変更
- 「HeadTarget」を「Head」にドラッグアンドドロップ
コンポーネントの作成
IKを導入するためのコンポーネントを追加します。
以下の操作で「IK Manager (Script)」と「VRIK (Script)」をキャラクターのゲームオブジェクトにアタッチしてください。
- モデルのオブジェクトを選択
- Inspectorウィンドウの「Add Component」を押す
- 検索窓に「ik」と入力
- 「IK Manager」と「VR IK」をクリック
IK Managerの設定
作成したターゲットオブジェクトを、IK Managerに設定します。
Hierarchyウィンドウのオブジェクト
- HeadTarget
- LeftHandTarget
- RightHandTarget
を、それぞれ「IK Manager」の対応する部分にドラッグアンドドロップします。
ファイル名の設定
ファイル名と著者名の設定を行います。
アバターの親オブジェクトを選択して「Add Component」をクリックしてください。
検索窓にava等と入力してAvatar Descriptorを選択します。
コンポーネント「Avatar Descriptor (Script)」が追加されたら、以下の情報を入力しましょう。
- Avatar Name:アバターの名前
- Author Name:アバターの著者名
avatarファイルのエクスポート
「Window」→「Avatar Exporter」から.avatarファイルをエクスポートします。
アバターファイルの保存を押すと、続けてシーンファイル(*.unity)の保存も促されます。
動作確認後に修正したり、揺れ物やアニメーションの設定を追加したりすると思うので、両方保存しておきましょう。
キャンセルした場合はアバターファイルのみエクスポートされます。
ゲームを起動して動作確認
完成した.avatarファイルを「CustomAvatars」フォルダに入れて、動作確認します。
アバターの表示や動作に問題がなければ、これで終了です。
おつかれさまでした!
FAQ
よくある質問とトラブルシューティングは、以下の記事にまとめました。

解決しない問題がありましたら、こちらのフォームからお問い合わせください。
※文章だけでは原因の特定に苦労することがあります。ご質問の際は、Unityの編集画面のスクリーンショットを添付してもらえると助かります。
まとめ
BlenderやUnityを使ってビートセイバー用のアバターを作成する方法を解説しました。
最後に、作業全体の流れをまとめておきます。
準備
- ソフトウェアやプラグインをダウンロード
- BlenderとUnityをインストール
Blender編
- Blenderでアドオンインストール
- モデルデータをインポート
- pmx, pmdをfbxに変換(MMDモデルのみ)
- 3Dモデルの最適化と加工
- 握りこぶしのシェイプキーを作成
- fbxでエクスポート
Unity編
- Unityでプロジェクト作成、フォルダ作成
- モデルデータのインポートとマテリアル抽出を行う
- アニメーションタイプの変更とマテリアル設定を行う
- アバターオブジェクトの配置、サイズ調整
- シェイプキーの適用
- Targetオブジェクトなどの作成
- IKの設定を行う
- ファイル情報を設定してエクスポート
アバターが作れるようになったら、今度は髪や服を揺らしたくなると思いますが……とりあえず今回はここまで。
近いうちに揺れものや表情アニメーションの導入方法も解説します。
揺れもの(DynamicBone)の記事できました。

コメント
マテリアルの設定を行う際にシェーダーを開いてもBeatSaberが表示されません。
dynamicbone等設定済みの有料モデルを使用しているのですがそれと関係あるのでしょうか?
カスタムアバター用のプロジェクトは使用されていますか?
一度トラブルシューティングの記事をご覧ください。
大変参考なる記事をありがとうございます!
お陰様でアバターの作成まで漕ぎけることがでいました。
追加で6点トラックに対応したアバターを作る際のTipsもあれば見たいのですが、そのような記事を書くご予定はありませんでしょうか。
どうしてもつまさき立ちになってしまい、調整がうまくできません…。
カスタムアバターのフルトラは調整がちょっと大変ですからねぇ。
つま先立ちは、腰の位置が原因ならPelvisTargetの高さを下げれば直ります。Pelvisの位置を上げても構いませんが、Targetを動かす方が楽ですね。
やりすぎると今度は膝が伸びなくなってしまうので、複数のサンプルを用意してからゲーム内で最適な値を確認するのがオススメです。
そもそも足の角度がおかしいという場合は、Left/RightLegの角度がVIVEトラッカーと一致していない可能性があります。
固定方法にもよりますが、トラッカーが斜めになっているのであればRotation.Xをこんな感じで傾けると改善します。
記事は……考えておきます!
「Window」→「Avatar Exporter」から.avatarファイルをエクスポートします。
この時点でWindowタブ内にAvatar Exporterが存在しないのですがどうしたらいいでしょうか?使用Versionは能代様が説明画像で使っている2018.1.6f1を使用しています
記事の手順通りにカスタムアバター用のプロジェクトを使ってください。
blenderの配布サイトダウンしてませんか?
確認しましたが、現在は問題ないようです。
まだ作成途中ですが大変お世話になっております。
マテリアルの設定でシェーダーをBeatSaber/Unit Glow等に変更した際にテクスチャーが剥がれてしまい白塗りになってしまう現象が起こりました。
なのでシェーダーを変更する前にMainMapのAlbedoをクリックし、設定してるテクスチャを確認→シェーダー変更→テクスチャが抜け落ちた場合Selectをクリックし、設定してあったテクスチャを再度選択という手順が必要になりました。
また、シェーダーを設定する際にアバターがあったほうがわかりやすいため、手順を入れ替えた方がいいと思いました。
初心者からの意見で恐縮ですがご参考程度にしていただければ幸いです。
ご意見ありがとうございます。
Beat Saber専用のシェーダーに変更する際は、初回のみテクスチャの再設定が必要になります。これは本文にも既に記載している通りです。
手順については、マテリアルとオブジェクトの設定を行ったり来たりすると戸惑ってしまう方もいるため、このようにしてあります。
両方とも補足を追加しておきます。
お世話になっております。
記事を読みながら最後の工程(〇〇〇(キャラ名).avaterのエクスポートが完了)まで漕ぎつけたのですが、ゲーム内でアバターを選択できません。
ゲーム内での表示が「〇〇〇(キャラ名).avater failed to lood」と「make sure it’s not a duplicate avatar」となっています。
念のため保存していたunityファイルから再度エクスポートを試みましたが結果は変わりませんでした。
このような状態の解決策はありますか?
CustomAvatarsフォルダから、読み込みたいアバター以外の.avatarファイルを全て削除してみてください。
ご返信ありがとうございます。
自作アバター以外をCustomAvatersフォルダから削除してゲームを起動してみましたが
改善しませんでした(表示も同じ文章です)
もう一度最初から作り直してみようと思います。
お騒がせしました!!
Unityのバージョンが2018.1.6f1ではなく2019版を使っていたという見落としでした!
無事にアバターを作れました、ありがとうございます!
なるほど、Unityのバージョン違いが原因でしたか。解決して何よりです!
IKでTargetオブジェクトを設置し、beat saberでの取り込みまで
できましたが…
しゃがむことができません。
頭を傾げる程度で足が曲がらないのですが、どのように設定すればいいでしょうか?
Unityの編集画面やゲーム内SSを見てみないとはっきりしたことは言えませんが、おそらくアバターのサイズが小さすぎるか、Headオブジェクトの位置が低すぎることが原因でしょう。
HeadTargetの位置が高すぎる可能性もあります。HeadTarget作成後にHeadを動かした場合は、それが原因かもしれません。HeadのTransformを変更する際は、オブジェクトの親子関係に注意してください。
いつも参考にさせてもらってます
配布されているアバターファイルを自分用に調節することはできますか?
あれば教えてもらえないでしょうか
avatarファイルをUnityでインポートすることはできないので、細かい調整は不可能です。
https://noshilog.com/beat-saber-avatar-faq
早い返信ありがとうございます
見逃してたみたいですねすいません;
お世話になります
最終工程の「avatarファイルのエクスポート」まで出来たのですが
保存の仕方がイマイチ分かりません…
どうすればよろしいですか?
立て続けのコメントすいません…
よくよく確認すると
「LeftHand gameobject Missing」
「RightHand gameobject Missing」
と表示されています
なにが原因なのでしょうか…
トラブルシューティングをご覧ください。
このページを参考にさせていただき一通り動くアバターが作れたのですが
手のひらを上をむける感じで手首をひねった時に
手首部分のポリゴンに雑巾を絞ったようにねじれが生じます。
オリジナルのモデルはTポーズで手のひらを下にむけた状態なのですが
そこから手のひらが上を向くところまでまわすとねじれてしまうようです。
どうもひじのねじれがまったく起こらず手首だけでねじろうとしているのが原因のように見えますが
これを自然に動かす方法はないでしょうか?
UnityProject.zipにTwistRelaxerコンポーネントがあったので
それをひじに設定してみたのですがやはりひじが回らず同じ状態です
Twist RelaxerのIK設定を忘れている可能性はありませんか?
Left elbow / Right elbowにTwist Relaxerをセットし、IKのところに「VRIKが取り付けられているオブジェクト」をアタッチしてください。これで手首のねじれは改善されるはずです。
ありがとうございます!こんなに速くお返事いただけるとは
仰る通りパラメーターの設定間違いでうまく動いていなかったようです
TwistRelaxerも動いているようです…お騒がせいたしました
余談ですがTポーズの状態で手のひらが下を向いている場合、
180度手首を回転させて真上を超えるあたりで回転状態の補完のせいか
TwistRelaxerで連動させているひじがグルンと360度回ってしまいますね…
ボーンの初期ポーズをある程度まわしておくことで起こりにくくなった?ようですが
もっとスマートな解決法ってあるんでしょうか…
いえいえ、解決してよかったです!
ねじれの細かい調整は私もよくわかりません!
お世話になっております。
こちらの記事を参考にさせていただきながら.avaterの作成をさせていただいております。
上記にもありますが、私の作成するアバターにも“gameObject is missing”のエクスポートエラーが出てしまい、トラブルシューティングを拝見させていただいた上での質問です。
Unityのバージョンは2018.1.6f1
記述通りの作成を行い、誤字もありませんでした。
オブジェクトも存在しており、子オブジェクトにもなっています。
海外の記事や、断片的なtwitterの情報も試しましたが解決に至らず・・・
もし、解決できる可能性のある方法や、あり得そうなミスがありましたら教えていただきたいと思い質問させていただきました。
誤字脱字や階層のミス以外で、gameObject is missingが発生するケースは見たことがありません。
「Avatar Descriptorが取り付けられているオブジェクト」の子になっているかどうか、今一度ご確認ください。
記事通りの階層に各オブジェクトが作成されている状況でエラーが発生する場合、Avatar DescriptorやIK Managerが想定外のオブジェクトにアタッチされている可能性も考えられます。
お答えいただきありがとうございます!
ご指摘いただいた点に注意しながら、答え合わせを行い無事解決しました。
問題となっていた箇所は【IK用のオブジェクトを作成】する際に、親オブジェクト左クリックでオブジェクト作成できておらず、オブジェクトが浮いていた認識されていないことがエラーに繋がっていました。
解決して何よりです!
お世話になっております
こちらの記事を参考にし.avaterを作成しているのですが
.avaterへの変換までは完了しゲームに実装しエラーは出なかったのですが
対象のアバターを選ぶと一瞬だけ表示され何処かへ飛んでいくといった感じの
状態になっております
1.3になったばかりだからかな?と思ったのですがテスト用のアバター等
他のものは問題なく動いているので設定か何かだとは思うのですが
ここをチェックした方が良い等ありましたら教えていただけませんか?
腰のトラッキングが飛んだときのような感じですかね……?
記事の手順通りに作成できていない可能性が高いです。Targetオブジェクトの作成やIK関連の設定にミスがないかご確認ください。
了解しました!試しにいろいろやってみます!
このページを参考にさせていただき一通り動くアバターを作成したのですが手首より先が伸びてしまうという症状になったのですが原因はわかりますでしょうか…?
もしよろしければ原因を教えていただけないでしょうか?
Blenderでボーンの最適化を行ってください。
返信ありがとうございます
Blenderで最適化を行いエクスポートしようとしたところ下記の例文が出てしまうのですがこのまま出力しても良いのでしょうか?
model not optimized
this model has 18 materials!
You should try to have maximum of 4 materials on your model.
creating a texture atlas in CATS is very easy, so please make use of it.
VRChatユーザー向けのメッセージなので、そのまま出力して問題ありません。
マテリアル数が多いと処理が重くなりますが、ビートセイバー用のアバターであれば基本的には気にしなくて大丈夫です。
Blenderで最適化後そのまま実行したら無事不具合が直りました!
ありがとうございます!!!
いえいえ、解決して何よりです。
何度調節してもアバターの足が地面よりも下になってしまいます…
解決法ありましたら教えてください
作業状況が不明なのでわかりません。
一通り終わってビートセイバー内で足が地面より下に埋まってしまいます
こちらのページを参考にして、MMDから.avatorファイルを作成しプレイしたところ、アバターを切り替えた時点で一人称視点から三人称視点に変わってしまいます。
何かミスにお心あたりありますでしょうか?
.avatorが出力できません。
ボタンを押しても何も反応がないのですが…これで正解なんでしょうか?
すみませんできました!
すみません、このサイトを参考にしてアバターを作って1体目は成功したのですがほかのMMDモデルをもとに2体目を作ったら表示はされるんですけど棒立ちの状態で動かないのですが原因は何か考えられるでしょうか?コンポーネントなどの入れる順番とか重要だったりしますか?
コンポーネントを取り付ける順番は前後しても問題ありません。
棒立ちはオブジェクトやコンポーネントの設定ミス、ボーンが最適化されていない…などのケースが多いかと思います。
こちらの記事を参考に無事avatarファイルを作ることができました。
色々トラブルがありましたが、コメント欄と合わせて問題解決でき感謝します。
ただ一つ気になるところがありまして、自分もgameobject Missingが4種類でてしまい、エクスポートできなくて悩みました。
結果的には Avatar Descriptorを設定する親が記事の画像の階層だとダメで、
一つ下のモデル名の方に設定したら上手くいきました。
自分の環境だけかもしれませんが一応報告しておきます。
お役に立てたようで嬉しいです!
トラブルの詳細までコメントしていただき、ありがとうございます。
おそらく、Target用の各オブジェクトが記事と異なる階層に作成されており、それが原因でコンポーネントの対象も変更する必要が生じたのだと思われます。
例えば、Head・Body・LeftHand・RightHandが Armatureと同じ階層に配置されている状況で、記事画像通りの親オブジェクトにAvatar Descriptorをアタッチすると、gameObject is missingが4つ表示されるはずです。
この場合は、コンポーネントのアタッチ先を一つ下のオブジェクトに変更すると解決します。
もしかすると別の原因かもしれませんが、階層ミスによるエラーはよく見かけるので、要注意ポイントですね。
今後作成される方の参考になれば幸いです。
こちらの記事を参考にVRC用アバターをビートセイバー用に出力できないかやっていたのですがツールバーから「Window」→「Avater Exporte」と開いても、専用タブは増えるのですが、中身が空で困っています。
他のサイトで調べてみたところ、このタブでアバター名とか決めて、Exportできるみたいなのですが、なんで殻で表示されるのかわからなくてどこを直せばいいのかわからなくなっています。
一応バージョンは2018.1.6fでやっています。
よろしければご助力お願いいたします。
ゲームオブジェクトにAvatar Descriptorが取り付けられていない場合、Avatar Exporteタブは空欄で表示されます。(正確には「Avatars」という文字のみ表示されます)
上記コンポーネントのアタッチ忘れか、あるいは何らかの原因で正常に機能していないと思われます。
お世話になっております。
今まではmodel saberよりアバターをダウンロードしてましたが、しゃがむとガニ股になったりdynamic bornが無く不自然なモデルが多いため、こちらの記事とdynamic bornを追加する記事を参照しアバターを製作し、無事動作する事も確認できました。
mmdは少々かじる程度、blender、unityはともに初めての使用でしたが丁寧な解説により問題なく使用する事ができました。
ありがとうございます。
ただ、作成時にちょっとしたトラブルがございましたのでご質問させて頂きます。
ある1つのmmdモデル(.pmx)にて発生したのですが、blenderにて.fbxにてエクスポートし、unityのprojectウインドウ下部の「Assets」内へ「Textures」、「Materials」フォルダー及び.fbxのモデルを設定後、モデルを表示させるために「ヒエラルキーウィンドウ」内へモデルをドラッグした所、テクスチャーが反映されていないのかモデルの一部が真っ白になっておりました。
私はIKやdynamic born等の設定が完了後、.avater形式でエクスポートする前に「Materials」のシェーダーを設定するのですが、すべてのシェーダーを設定してもその一部だけは真っ白の状態でした。
(blenderでは全く問題なく全身表示されております。)
幸いそのmmdモデルはバージョン違いがあり、そのモデルはうまく設定出来ましたので結果問題はないのですが・・・同じような現象はございましたか?
また、何か考えられる原因等があればご回答いただけますと幸いです。
よろしくお願いいたします。
はじめまして、管理人の能代です。
コメントありがとうございます。記事がお役に立ったようで何よりです!
ご質問の件ですが、モデルが真っ白になるのはテクスチャやシェーダーが適切でないケースが多いと思います。
ただ、MMDモデルでアバターを作成されたとのことなので、別の原因かもしれません。
MMDモデルは本来ゲーム用途は想定されていないため、そのままUnityに持っていっても上手く表示されない……というのはよくあることです。(差分パーツの影響等)
今回の場合は、真っ白になってしまった部分のメッシュに元々テクスチャが貼られていなかった可能性も考えられます。
Unity側の設定だけで解決すれば良いのですが、どうにもならない場合は問題となる部分を先にBlenderで編集しておく必要がありますね。
曖昧な回答で申し訳ありませんが、少しでも参考になりましたら幸いです。
質問です。
BOOTHで購入したアバターをBeatSaber用に編集して使用しようと思ったのですが、Avatar Exportをしてもデータがエクスポートされません。どうしてでしょうか・・・
ちなみに使用としているアバターは「ミーシェvre1.03」です。
Unityは2018.4.22f1を使いました。(2018.1.6f1だと読み込めなかったため)
何分初めてのため色々わからないことだらけなので教えていただけたら嬉しいです。
3点トラッキングで試しています
記事通りに進めて一応アバター導入出来てはいるんですが腰がぐるんぐるんしてしまいちょっと人には見せられない感じになってしまいます
腰が動いてしまうのを抑制する方法は無いでしょうか?
記事参考にさせていただいております。
Avatarファイルの出力まで出来たのですが、0バイトの空のAvatarファイルが出力され、使えませんでした。
再度同じプロジェクトでAvatarの出力を試みたのですが、
今度はAvatarexportの欄が消えてしまい出力出来なくなりました。
お心当たりのある範囲で構いませんので、
原因や解決法をご教示いただけると幸いです。
このページを参考に、アバター作成&導入できました!(異常な内股だとかでまだまだ調整中ですが)
いいですね、素人でもvroidとかでオリジナルキャラクター作って、blenderやunityで気軽に着替えを楽しめるなんて。
自分好みのベリショ少女になれる現代の光ですよこれは
ところで、1点確認したいことがあります。
本記事の、
>作成したオブジェクトの名前を変更します。
の直前の画像では、以下の階層構造となっております。(そのあと追加するTargetモジュールは省略)
(略)
└ Huchakiti
├ Huchakiti
│ ├ Armature
│ └ Body
├ Head
├ Body
├ LeftHand
└ RightHand
この階層ですと、いざExportしようとしたときに、「〇〇〇〇 gameObject is missing」が発生するようです。
画像を睨みつけながら考え込んだり検索したりした結果、以下の階層とするとエラーが発生しなくなりました。
(二つ目のbodyは削除しました。)
(略)
└ Huchakiti
└ Huchakiti
├ Armature
├ Body
├ Head
├ LeftHand
└ RightHand
この階層で合っているのでしょうか。
今のところ、内股なことと身長がおかしいことくらいしか問題が発生していないので、☝で合っているんだという風に考えていますが…。
でもいつか問題が発生するのかな…。
修正後の階層崩れてる…こんな感じです
(略)
└ Huchakiti
___└ Huchakiti
______├ Armature
______├ Body
______├ Head
______├ LeftHand
______└ RightHand
コメントありがとうございます。
アバター導入のお役に立てたようで幸いです。
階層の件ですが、IK関連のコンポーネントを取り付けるオブジェクトの階層が記事と異なる場合、gameObject is missingが発生する可能性があります。
(別の原因かもしれませんが、よくあるのは上記のケースです)
とりあえずHead等のオブジェクト階層変更でエラーが改善したのであれば、そのままの設定でも大丈夫だと思います!
はじめまして。この記事を参考に導入したのですが、ゲームを起動してアバターを選択する際に名前は表示されるのですが、肝心のアバターが表示されなくて試行錯誤しています。解決策等があれば教えてください。
アバター自体は購入したものを使用しておりunity packageファイルから.avatarsをexportしました。そのため、blenderは使用していません。
最近、Beast Saberを始め、アバターの導入、作成と サイトをご参考にさせて頂いております。
MMDモデルでの作成に挑戦しているのですが、UnityでのIKの設定で躓いています。
Targetオブジェクトの設定を終え、「コンポーネントの作成」
「IKを導入するためのコンポーネントの追加」作業で、
[Add Component]で「IK Manager (Script)」と「VRIK (Script)」を選択しても、
「Scripy IK Manager doesn`t exist」「Scripy VR IK doesn`t exist」と表示され、
先に進めなくなってしまいました。
Unityも2018.1.6f1 を使用し AvatarsUnityProject も使用しています。
Blenderは、Ver2.29.0 を使用しています。
何がおかしいのか、解りますでしょうか?
もし、原因が解りましたら、御教授お願いできませんでしょうか
よろしくお願い致します。
他のコンポーネントは問題ない感じでしょうか。
CustomAvatar.dllの再インポートで改善するかもしれませんが、原因がわからないのでなんとも……。
新規プロジェクトで確認するのが無難かと思います。
早速のご返答ありがとうございます。
Targetオブジェクトの設定 までは、問題なくサイトの記述通りに出来ました。
「IK Manager (Script)」「VRIK (Script)」は、Unity自体に入っているのではなく、
CustomAvatar(AvatarsUnityProject) の方ですね。
AvatarsUnityProject を再インストールして、新規プロジェクトで試してみます。
ありがとうございました。
なるほど……うーん、謎ですね。
全くお力になれず申し訳ないです。
うまくいくことを願ってます!
ありがとうございます。
AvatarsUnityProject を再インストールして、新規プロジェクトで作り直したら、完成しました。
Beat Saber での作動テストも問題なく成功致しました。
Saberの握り位置など、若干の微修正は必要かもしれませんが、動作は問題なく作動致しました。
ちなみに、モデルは、~白~さん 作 の神楽(ハイポリ通常Ver1.02)です。
修正をしながら、ポニーテールタイプのアバターも作ろうかと思っています。
この度は、ご指導頂きありがとうございました。
ご報告ありがとうございます。
うまくいったようで良かったです!
ポニテバージョンも頑張ってください!!
すみません
BOOTHで販売しているオリジナル3Dモデル「ネフェル(Nefer)」を使いたく、
こちらのやり方を参考させて頂いております。
私は全くの素人なのですが、モデルデータ?の.unitypackageを使えばいいのか、
fbxデータを使えばいいのか分からない状態になっています。
このモデルの説明書には、
.unitypackageは「マテリアルおよびDynamicBoneを設定済みのprefab、アニメーションデータが含まれている」
fbxは「3Dモデルのfbxデータ」「Nefer.prefab」は主要なメッシュが統合されたデータ、「NeferParts.prefab」は細かくメッシュが分かれたデータ、「NeferSotai.prefab」は裸の素体のデータと書かれていました。
あと、このモデルは.avatarに変換できますでしょうか?
どう扱えばいいのか知恵をお貸しください。
管理人様
初めてコメントさせていただきます。とても分かりやすい説明ありがとうございます。
当方にてアバターが上手く動作しないため可能であればご教示いただきたく存じます。
セシル変身アプリを使用して作成したvrmからfbxへの変換を試みています。
Fix modelを押し最適化をしたところ尻尾の付け根位置が地面に修正され、以下のエラーメッセージが出ます
”The following bones were not found:
– Left knee
– Right knee
Looks like you found a model which Cats could not fix!
If this is a non modified model we would love to make it compatible.
Report it to us in the forum or in our discord. links can be found in the Credits panel.”
なおこのまま続行してもUnityにおいて
Humanoid化できず詰みます。Import Messageには
”Required human bone “LeftLowerLeg”not found”
とあるので、やはりBlenderにてkneeが検出されていないのが影響していると考えています。
不躾ですがもし解決方法をご存じでしたら、一方いただけると幸いでございます。
ダーチャ