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を選択してテクスチャを選択します。
作った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でどこかのボーンに統一しました。