旧世代VRChatアバターのアップグレードパス

この記事は約6分で読めます。

VRChatは2017年にSteamに登場し、それから6年が経過しています。

この6年間のうちに、アバターに使用される技術は大きく進化しました。
しかし、進化の過程でアバターに対して変更を加える必要がある場面も登場しています。

VRChatアバターの世代について

VRChatアバターは、大きく次の3つの世代に分かれています。

  1. SDK2 + Dynamic Bone
  2. SDK3 + Dynamic Bone
  3. SDK3 + PhysBones (現行世代)

いずれの場合においても、作業を行えば最新の世代に追従していくことは可能です。

ところで、VRChat SDKはどこにありますか?

現在、VRChat SDKはunitypackage形式では配布されていません。
VRChat Creator Companion(VCC)を使用してください。VCCは必要なUnityエディタやパッケージなどを自動的にインストールする機能があります。

unitypackage形式からVCCへの移行はエディタのアップグレードという面が強いため、ここでは世代分けを行っていません。

なお、アップグレード作業はVCC内で行うことができます。VCCではSDK3のみがサポートされています。

2023年3月現在、対応しているUnityエディタのバージョンは2019.4.31f1です。
Unity2018以前からのアップロードは既に停止されています。

旧世代のアバターは使うことができないのですか?

もちろん使うことができます。ただし、現行世代の技術に適応するためにはアップグレードが必要です。
数年以上前に販売されたアバターは、サポートが打ち切られていることがあります。
その場合はサポートを受けることはできませんが、各アバターの利用規約に従い、自己責任のもとでアップグレードを行うことは可能です。

アバターに魅力を感じるものの、旧世代であった場合に挑戦してみるとよいでしょう。

アップグレードする前にアップロード済みのアバターは当面使用できます。ただし、動作は保証されていないため、想定外に動作しなくなる可能性があります。
可能な限り、現行世代までアップグレードを行っておくことが推奨されます。

アバターのアップロードは初めてですか?

初めてアバターをアップロードする場合は、現行世代のアバターのアップロードから始めるのがおすすめです。手に入れた時点で現行世代の技術に適応しています。

オリジナル3Dモデル ハオランーHAOLAN - かなリぁさんち - BOOTH
このアバターはAvaters3.0でセットアップされ、PhysBonesに対応しています。 Quest版は25000ポリでverypoorなのでご了承ください。 ペデスタル用のIDです ID: avtr_3f3c9794-d71e-4cbc...

慣れてきて気になるアバターが増えてきたら、以下の通りに挑戦してみるとよいでしょう。

アバターの世代ごとの対応方法について

旧世代のアバターを最新の技術に対応させるために、アップグレードが必要です。
以下の方法に従って進めていくことで、現行世代の技術に適応したアバターにすることができます。

各作業を行う前に、プロジェクトのバックアップを必ず作成してください。

SDK2 + Dynamic Bone世代

2020年7月頃までに制作されたアバターはこの世代です。また、揺れ物を動かすために、有償のDynamic Boneと呼ばれるUnityアセットが必要とされていました。
かつてのアバターはこれが基本でした。2023年3月現在、SDK2のサポートは終了しており、まもなく新規および更新アップロードも停止される予定です。

したがって、まずはSDK3にアップグレードする必要があります。

VRCAvatars3Tools - がとーしょこらのおみせ - BOOTH
VRChatのAvatars3.0で作成するアバター向けのUnityEditor拡張のよくばりセットです。 Avatars3.0は新しいアバター設定の仕組みです。 VRChatの仕様変更やSDKの更新でうまく動かない可能性があります。 un...

既に確立されたツールがあります。VRCAvatars3Toolsを使用することで、SDK2からSDK3へのアップグレードを簡単に行うことができます。

アバター版SDK3のことを”Avatars3.0″と呼ぶことがあります。
アバター3.0、Avatar3.0などと呼ばれることもありますが、正確にはAvatars3.0です。

SDK3 + Dynamic Bone世代

2020年8月から、2022年3月頃までに制作されたアバターはこの世代です。
SDK3により、Animator Controllerが使用できるようになりました。あらゆるアニメーションの制御がAnimator Controller前提となったため、より複雑かつ高度な制御が行えるようになりました。

SDK3に変換されていることで基本的な機能は現行世代に沿っているものの、その後揺れ物についてのアップデートが行われています。

VRChat独自に開発された揺れ物の”PhysBones”が実装され、これを前提としたアバターが増加するようになりました。
Dynamic Bone比での動作の軽量化や、揺れ物に触って遊ぶことができる機能などが追加されています。

PhysBonesに対応するにはDynamic Boneからの変換が必要ですが、VRChat SDKに自動変換機能が実装されています。必ずしも想定した動作になるとは限りませんが、多くはこれで解決できます。

自動変換機能は、エディタメニュー内のVRChat SDK→Utilities→Convert DynamicBones To Physbonesから利用できます。

ただし、自動変換機能を動作させるにはDynamic Boneが必要です。
もし最近のユーザーでDynamic Boneを購入していない場合は、設定値を読み取ってPhysBonesにコピーするツール”PhysBone Salvage Converter V2.2″があります。

PhysBone Salvage Converter V2.2 - Hearty Laboratory - BOOTH
DynamicBoneを所持していなくても、PrefabからDynamicBoneの値を回収してPhysBoneに変換することができるツールです。 Version: 2.2 Supported Unity Version: Unity 20...

PhysBonesはVRChatの独自規格であるため、VRChat以外では原則として使用できませんのでご注意ください。
どうしてもという場合、PhysBonesからDynamic Boneへ逆変換するツール”VRCPhysBone To DynamicBone Converter V0.4″も開発されています。これは主にVRChatの外にアバターを持ち出すときに役立ちます。

[Free]VRCPhysBone To DynamicBone Converter V0.4 - Moyuer - BOOTH
- This converter is based on the VRCSDK source code for reverse conversion. - This plugin depends on DynamicBone plugin,...

Dynamic Boneを購入済みの場合、Dynamic Boneのままアップロードすることも当面可能です。
ただし、VRChatのクライアント上で原則として自動的にPhysBonesに変換されるため、エディタ内で最初から変換しておくことをおすすめします。

SDK3 + PhysBones世代

2022年8月以降に制作された、この世代のアバターは現行世代です。
2023年3月時点では最新の技術に適応しています。

SDK2では、PhysBonesは使用できません。

Write Defaultsの無効化

Animator ControllerのWrite Defaultsが有効な場合、アバターが正常に動作しないことがあります。
現時点での対応は必須ではありません。ただし可能な限り、Write Defaultsは無効にしておくことが推奨されています。

OpenKnowledge/tool/AnimEditUtility
# これは何ですか? Unity の AnimatorController や VRCSDK3 の VRCExpressionParameters などを編集するユーティリティです。 なお、このツールは「Avatars3.0 の Anima...

Write Defaultsを無効化するために既に確立されたツールがあります。AnimEditUtilityを使用してください。

VRChat Creator Companion(VCC)への移行は?

アバター自体に使用される技術が変更されるわけではないため、大きくは変化しません。

ただし、VCCへの移行後にエディタ拡張でエラーが発生し、動作しなくなる可能性があります。
VCCに対応したエディタ拡張がリリースされている場合はアップデートする、ない場合は類似のエディタ拡張を探すなどをご検討ください。

タイトルとURLをコピーしました