Beat Saberのカスタムアバター制作におけるトラブルシューティングです。
お問い合わせの多い、よくある質問をこちらにまとめています。
gameObject is missingと表示されてエクスポートできない
オブジェクト名が少しでも間違っていると、「〇〇〇〇 gameObject is missing」というエラーが表示されて、アバターのエクスポートボタンがロックされます。
- Head
- Body
- LeftHand
- RightHand
これらのオブジェクト名が正しく設定されているか確認してください。
小文字・大文字の違いも含めて、すべて一致していなければなりません。
次のような場合も同様のエラーが発生します。
- オブジェクトが存在しない
- 正しい場所にオブジェクトが作成されていない(アバターの親オブジェクトの子として作成されていない等)
スポンサーリンク
アバターの頭や腕の位置・角度がおかしい
- 頭やセイバーの位置が悪い
- プレイヤーのトラッキングとモデルの位置にズレがある
- 手首の角度がプレイヤーとリンクしない
- 関節の動きが荒ぶる
などの場合は、IK用に作成したオブジェクトを再調整します。
例:LeftHandの位置を修正したい
片方(親オブジェクト)を動かすと、もう片方(子オブジェクト)も連動してTransformが変わってしまうので、以下のどちらかの方法で調整してください。
- LeftHandTargetを削除してからLeftHandの座標を調整し、その後LeftHandTargetを再度割り当てる
- LeftHandTargetを別の階層(LeftHandの子でなければどこでも良い)に移動させてから、LeftHandの座標を調整し、最後にLeftHandTargetを元の場所へ戻す
スポンサーリンク
テクスチャが正常に表示されない
モデルの表示がおかしいときは、マテリアルの設定が適切でない可能性があります。
シェーダーを変更したり、設定を色々と変えてみてください。
Beat Saber用のシェーダーが選べない
BeatSaber/Unlit Glowなどのシェーダーは、AvatarsUnityProjectに同梱されています。
Projectウィンドウから「Assets」→「Shaders」と開き、「sh_custom_unlit.shader」などのファイルが入っているか確認してください。
しゃがむとガニ股・内股になる
VRIKを調整する必要があります。
詳しくは以下の記事をご覧ください。

服や髪が揺れない
アバターの服や髪などを揺らすためには、ダイナミックボーンを設定する必要があります。

動くと足が服を貫通する
コライダーを設定してください。

歩幅を狭めるのも効果的です。ロングスカートや袴などの場合、コライダーだけでめりこみを防ぐのは困難なので、両方の設定を駆使して対処します。
歩幅を狭めたい
アバターの歩幅はVRIKの「Locomotion_weight」から調整可能です。
以下の記事の下の方に、歩幅の調整方法も記載しています。

常にアバターの膝が曲がってしまう
アバターのサイズが大きすぎる可能性があります。
自分の身長にあわせて設定したのに、いざゲーム内で動作確認すると高さが微妙にあわない……ということは多々あります。
モデルのサイズを小さくするか、Headオブジェクトの高さを目より低い位置に下げてください。
なるべく前者の方法で調整するのがベストです。
腕を左右に伸ばしてもTポーズにならない
頭部が大きいモデルや、頭身の低いキャラクターだと、肩の高さがリアルと大幅にズレる場合があります。
アバターのサイズを大きくして、Headの位置を下げる等の調整で改善します。
セイバーが手から離れてしまう
これは仕様です。
セイバー(コントローラー)
現実と3Dモデルの腕の長さが異なるほど、腕を伸ばしたときにセイバーが手から離れやすくなります。
配布されているアバターをUnityで調整したい
avatarファイルはインポートできないため、配布されているアバターを再編集することはできません。
同じモデルを使って、一から作成する必要があります。
コメント
アバターの頭や腕の位置・角度がおかしいの項で~Targetは一度削除と書いてありますが、位置調整の時だけ~Targetを別の所。
例えばLeftHandの調整の時はLeftHandTargetを上の階層等に移しておけば削除や再設定の手間が省けるようです。
調整はそのやり方のほうが効率的ですね。記事に追記しておきます。
初めまして。ど素人ながらサイトとにらめっこしながらアバター作っています。とってもお世話になっています。
シェーダーについてですが、beatsaber用のシェーダーではうまくいきませんでした。真っ白だったり真っ黒だったり半透明だったりします。Q&Aにあった通りフォルダの中も確認しましたが問題はありませんでした。シェーダーがうまくいかないのは、どのような原因が考えられるでしょうか?
それから対応するシェーダーがわからない場合は登録されているテクスチャーのファイル名云々とありますが、具体的にはどこをどう見ればいいのかがわからなくて…。
ど素人ですいません!お時間あればよろしくお願いします!
はじめまして、管理人の能代です。
丁寧なコメントありがとうございます。
【シェーダーについて】
などの原因が考えられます。
おそらく、テクスチャが正しく設定されていないために、どのシェーダーを選んでもうまく表示されない状況になっているのではないでしょうか。
適切なテクスチャを割り当てたうえで、再度BeatSaber用のシェーダーをすべて試してみてください。
大抵の場合、以下の四種類で何とかなると思います。
【テクスチャについて】
完成済みの3Dモデルであれば、抽出した時点で各マテリアルには既にテクスチャが割り当てられているはずです。
以下の手順で、作業前にテクスチャを確認しておいてください。
※1. 確認方法は選択中のシェーダーによって異なります。
既にテクスチャを変更してしまった場合は、この方法では調べられません。Blenderなどで確認してください。
はじめまして
こちらのサイトを見ながらアバターを製作したのですが、ゲーム内で表示はされますが動きません。
何か見落としがあったのかと思い、すべて消してやり直したのですが全く同じでTポーズのまま動きません。
棒立ちのアバターはかわいいです(どうでもいい)
元からMODに入っているアバターや、配布アバターではちゃんと動きます。
原因は何が考えられますでしょうか?
ご教授いただければ幸いです。
はじめまして、能代です。
棒立ちでもかわいい、わかります。動くともっとかわいくなります。
Tポーズのまま動かないのは、ほとんどの場合設定ミスが原因です。
これまでに相談を受けた中では、VRIKやIK Manager(IK Manager Advanced)を取り付けるオブジェクトが適切でないケースが多かったと思います。
あとはIK ManagerのTarget設定を忘れているなど……ですが、最初からやり直しているとのことなので、この可能性は低そうです。
私の記事の画像と比較して異なる部分がないか、特にオブジェクトの階層を念入りにチェックしてみてください。
こんばんは
アドバイスを頂いて色々試してみたのですが結局動かず…
ダメ元でアバターを別のものに変えてみたところ、あっさり動きました(O_O)
モデル側に何か問題があったようです(´・ω・`)
解決(?)かと思いきや、なぜか動いたアバターのIKの位置設定が反映されません…(カメラめり込みに手首があらぬ方向((((;゚Д゚)))))))
また、UnityProjectフォルダの全消しからやり直しでHeadオブジェクトの位置を大きく(頭1つ分前に)ずらしても同様です。
なんだかよくわからないトラブル続きですが、ご教示頂けると幸いです。
ボーンが最適化されていないときの症状に似ていますね。
Blenderの編集工程で、CatsプラグインのFix Modelは実行済みでしょうか?
腕が体の中にめり込みます(小さく腕を振ったときとか)。めり込まないようにするには、どこの設定をいじればいいのでしょうか?
めり込みの防止はコライダーを設定するのが一般的です。
初めまして。
キャブレーションしてもゲーム内の足跡に合いません。何が原因
でしょうか?
無理やり合わせても今度はセイバーと手が合いません。
どうすればいいでしょうか?
よろしくお願いいたします。