見出し画像

2023年10月時点でのfbxからVRChatのアバターアップロード(2024年2月追記)

はじめに

久しぶりにVRChatにFBXからAvatarをアップロードしようとしたら色々忘れていたので記録を取りました。Blenderで変更したシャペルちゃんをアップロードしています。よく知らないままやっているので間違えていたら教えてください。
2023年時点では、VRChatのアバターのアップロードにはVCC(VRChat Creator Companion)を使います。また2023年12月時点ではUnity2022に対応しています。一部のキャプチャはUnity2022に更新しました。

データを入れる

VCCでAvatarのプロジェクトを作って開くと下記の画面になるのでProject -> AssetsにFBXデータとテクスチャを入れます。

データの設定

FBXデータを選択するとInspectorでFBXデータの設定ができるようになります。
RigタブでAnimation TypeをHumanoidにしてApplyします。
Configureを押すとBoneの設定ができるのでHeadを選択、JawをNoneにしDoneなりApplyします。

次にProjectのAssets内で右クリックしてMaterialを作成します。(Materialはテクスチャとか反射とかを設定する様です。よく知りません。)

Materialを作ったらInspectorからShaderを選択してテクスチャを選択します。

VRChat/Mobile/Toon Litの場合
lilToonの場合

作ったMaterialをFBXデータのMaterialにドラッグして設定します。

アバターを作っていく

FBXデータをHierarchyにドラッグしてアバターを作っていきます。
(Hierarchyは、ゲームのシーンを作っていく画面です。本来Unityはゲームを作るソフトです。アバターのデータをゲームのシーンに登録するイメージです。本来は、同じデータから作ったスライムをゲームの一つのシーンに複数おけるようにデータとHerrarchyが分かれています。)

HierarchyからAvatarを選択してAdd ComponentでVRChat Avatar Descriptorを追加します。(VRChat Avatar Descriptorは、VRChat上でのアバターの特性を設定しています)

追加したVRChat Avatar DescriptorでView Position(VRChat内での視点の位置)を設定します。

View Posiotnの玉が見当たらない場合下の画像のVRC_AvatarDescriptorのチェックをオンにすると見つかりました。


またLipSyncはAutoDetectしました。(音声に合わせて口が動く機能です。)
Eye Lookも有効化してEyes Transformsに目のBoneを設定。向きもPreviewしながら調整しました。(自動的に他のPlayerを見る機能です。)

ボーンがあるPhysBoneを追加したいGameObjectを選択してAdd ComponentするとPhysBoneが設定できます。

AnimatorControllerとAnimationとGestureの追加

AnimatorControllerとAnimationを作ったのですが試行錯誤してしまい記録が取れませんでした。
その後、ComboGestureExpressions V2でジェスチャをつけます。
ComboGestureExpressions V2: Avatar Dynamics Update - hai-vr - BOOTH
unitypackageをimportするとできるAssets\Hai\ComboGesture\ComboGestureExpressions.prefabをHierarchyにドラッグします。
設定するアバターとFXAnimatiorControllerを指定します。

その後HierarchyからDefaultを選んでOpen editorします。

後は開いたeditorで頑張ります。
アニメーションを割り当てていきます。

動作確認するときは、Tools -> GestureManagerが便利です。

アップロード

VRChat SDK -> Show Control PanelメニューからVRChat SDKのウインドウを開きます。
後はログインしてNameとかDescriptionとかThumbnailとか付けてAuto Fixとかしてアップロードです。


ライトの当たり方で体のパーツごとの色が変わった場合

Mesh Rnder毎にライトの当たり方が違うのが原因のようです。Anchor Overrideでどこかのボーンに統一しました。

この記事が気に入ったらサポートをしてみませんか?