見出し画像

VRCにて初めてのアバターアップ時につまずきやすいところ

これを見て原因を一つ一つ潰していきましょう!
やり方が分かってくればあなたも立派なVRChatユーザー。

AvatarDescriptor

画像1
Trustedレベルの人でもたまにこれでツイートしてることがあるくらいに人気

ドが付くほど定番のつまずきポイント。
アップロードしたいアバター(3Dモデル)にAvatarDescriptor(その3DモデルをVRChatのものとして定義するための設定)が未設定の状態でアップロードしようとすると出てくるエラーメッセージ。

Unity内に入れたアバターの拡張子はFBXだったりしませんか?
.prefabという拡張子(そのファイルがどういうものかを表す文字列)のデータを使ってあげてください!

別の理由として当該のアバターとプロジェクト内にインポートしたSDKのバージョンがズレている状態で .prefab を読み込ませた場合もこのエラーが出ます。
「とりあえず数字が大きいからこれ使っとこう!」ではなく、きちんとアバターの配布ページやReadmeに書かれている内容に従ってインポートしておきましょう。
※もしAvatars(アバター)3.0対応!と書かれていないアバターならば大体はSDK2でセットアップされています

いずれにせよ、自分で設定が出来るならこの限りではありません。

『気になって購入した子にアバター3.0対応の言葉が無いんだけど…』という場合はこちらの記事の「VRCAvatars3Tools」でアバター3.0化もできるのでとりあえずそれで乗り換えるのも手です。
よく分からない時は筆者(@Rikurus)も手伝えるよ!

なんかモデルがピンク色に

画像2
悪夢の色…

大体のアバターにはマテリアルという『この3Dモデルのこの部分はこちらの定義に従って表示してね』という設定が行われているのですが、その設定で使われているシェーダーがインポートされていないと紫色になってしまいます。
(ちなみに、正常に表示されていてもVRChatにアップロードした際に稀に起こることがあるそう)

こちらも、アバターの配布ページやReadmeに書かれている内容に従ってシェーダーをインポートしておけば遭遇はしないはずなので、こうなった場合はまずはきちんとReadmeを読んで作業を進めていきましょう。

古いアバターとかアイテムだと現行のUnityに対応してないシェーダーを使っていたりするため、たまに『シェーダーが入っているのにマテリアルエラーになる』ということもあります…
この場合は自分でマテリアルのセットアップをやりましょう…

VRCSDKのメニューがちゃんと出ない

スクリーンショット 2021-02-10 223901
この時表示されるこのメニュー、ぶっちゃけ役に立たないんですよね…

検索するとよく「Unityの再起動」「プロジェクトの作り直し」という解消法が出ていますが、そもそもメニューが表示されなくなったのは高確率で直前に導入したツールが原因だったりします。

そのため、エラーを起こしているツールを取り除くことで事象は解消されます。その場合、事象が起こしているツールは当然使えないことが多いのでそれ用の環境を用意したりする必要があります。

一例
VRCSDK3(Avatar)を導入している環境に、EmoteSwitchのツールを入れるとこの事象が発生します。
この場合、EmoteSwitchのアセットを削除したうえでUnityの再起動で大体復活します。

Unityはインポートされたデータなどを解析しながら動いているので、
解析時にエラーが発生する→その時点で処理が止まる
という事が発生する。
今回はそれが原因でVRChat SDKが正常に動かなくなってしまった。

なんかエラーが出てアップロードが失敗する

画像4
「Error」って文字だけでぶっちゃけ怖くなりますよね。

VRCSDKのSettingタブから「Future Proof」のチェックを外すと成功するようになるかも…?

それでも解消されないこともあります…が、その場合はVRChatのサーバー側が原因による謎エラーということもあるので時間をおいて再チャレンジしてみると案外うまくいくかもしれません。

PC版でDynamic Boneを設定したのに髪が揺れない

画像5
解除した結果重かったらリミット掛け直しもアリです。

実はDynamic Boneの揺れはVRChatの初期設定では一定以上のボーン数による揺れは発生しないようにリミットが掛かっているため、自分で『Safety→Performance Setting→Dynamic Bone Limit』からチェックを解除してあげる必要があります。

なお、外しても揺れない場合はそもそも設定がおかしい可能性もあるのでUnity上で本当に揺れているか確認してみてください。

PC版とQuest版でアバターってどうなってるの?

画像6

VRChatにアップロードしたアバターには必ず「ブループリントID」というURLのようなものが割り振られており、このIDと一致するデータをPC版とQuest版の両方で見に行っています。

そのため、
PC版「アバターAをID=Aにアップロード」
Quest版「アバターA(Quest)をID=Aにアップロード」
とやることでPC版とQuest版それぞれでアバターが表示されるようになっています。
※これが[Switch Platform]したうえでアップロードを行うという作業が生まれるカラクリ

IDさえ一致していればOKですので、例えばPC版ではハイクオリティなアバターを使用し、Quest版では似ても似つかぬ適当なアバターを見せるということも可能です。
※やりすぎるとなんとも言えない気分になるのでほどほどに。

ちなみにブループリントIDはユーザーと紐付いているものなので、アバター販売(配布)者はブループリントIDをちゃんと解除してパッケージングしようね。
解除しないまま配布してるのをアップロードしようとしてエラーが出て悲鳴を上げる人がたまにいるので…